{"charon_version":"0.1.212","translated":{"crate_name":"fips205","options":{"ullbc":false,"precise_drops":false,"skip_borrowck":false,"mir":null,"rustc_args":[],"targets":[],"monomorphize":false,"monomorphize_mut":null,"start_from":["crate::verify_mono::slh_verify_128s"],"start_from_if_exists":[],"start_from_attribute":null,"start_from_pub":false,"include":[],"opaque":["crate::verify_mono::oracle","sha2","sha3","zeroize","rand_core"],"exclude":[],"extract_opaque_bodies":false,"translate_all_methods":false,"duplicate_defaulted_methods":true,"lift_associated_types":["*"],"hide_marker_traits":true,"remove_adt_clauses":true,"hide_allocator":true,"remove_unused_self_clauses":true,"desugar_drops":false,"ops_to_function_calls":true,"index_to_function_calls":true,"treat_box_as_builtin":true,"raw_consts":false,"unsized_strings":false,"reconstruct_fallible_operations":true,"reconstruct_asserts":true,"unbind_item_vars":true,"print_original_ullbc":false,"print_ullbc":false,"print_built_llbc":false,"print_llbc":false,"dest_dir":null,"dest_file":"/home/oho/GitClone/Claude/FormalVerification/fips205-slhdsa-verified/verification/SlhVerify.llbc","no_dedup_serialized_ast":false,"format":null,"no_serialize":false,"no_typecheck":false,"no_normalize":false,"abort_on_error":false,"error_on_warnings":false,"preset":"Aeneas"},"target_information":[{"key":"x86_64-unknown-linux-gnu","value":{"target_pointer_size":8,"is_little_endian":true}}],"files":[{"id":0,"name":{"Local":"src/verify_mono.rs"},"crate_name":"fips205","contents":"// verify_mono.rs — Aeneas-compat monomorphic SLH-DSA verify path (SHA2-128s).\n//\n// WHY THIS FILE EXISTS (formal-verification campaign, additive & inert):\n// The generic verify path threads the six hash primitives through\n// `crate::hashers::Hashers`, a struct of `fn(...)` POINTERS. The Aeneas\n// transpiler (Rust -> Lean 4) cannot translate function-pointer values, so\n// the generic path is not directly extractable. This module reproduces the\n// verify cone with:\n// (1) the hash suite reached through NAMED free functions in `oracle`\n// (marked opaque at the Charon boundary — the deliberate SHA-2\n// trust boundary of the proof), instead of fn-pointer dereferences;\n// (2) a monomorphic entry point `slh_verify_128s` fixing the SLH-DSA-\n// SHA2-128s constants.\n// The const-generic function bodies are otherwise copied VERBATIM from\n// wots.rs / xmss.rs / hypertree.rs / fors.rs / slh.rs so the extracted Lean\n// model is faithful to the deployed algorithm. Nothing here changes the\n// generic code: all twelve parameter sets are untouched, and this module is\n// compiled only when the `slh_dsa_sha2_128s` feature is enabled. The unit\n// test at the bottom pins fidelity by pitting this path against the\n// deployed `Verifier::verify` on freshly generated signatures.\n//\n// This is the exact pattern used for the ed25519 verify glue\n// (curve25519-dalek-source: monomorphic `verify_sha512` calling opaque\n// `sha512_*` wrappers).\n\n#![cfg(feature = \"slh_dsa_sha2_128s\")]\n#![allow(clippy::similar_names)]\n// This module is a campaign extraction root and is exercised by its own\n// differential unit test; it is intentionally not called from the library's\n// public API, so `dead_code` (measured from that API) does not apply.\n#![allow(dead_code)]\n\nuse crate::helpers::{base_2b, to_byte, to_int};\nuse crate::types::{\n Adrs, ForsPk, ForsSig, HtSig, SlhDsaSig, SlhPublicKey, WotsPk, WotsSig, XmssSig, FORS_ROOTS,\n FORS_TREE, TREE, WOTS_HASH, WOTS_PK,\n};\n\n// ---------------------------------------------------------------------------\n// oracle — the SHA-2 boundary, reached by name (Charon marks this module\n// opaque; Aeneas emits these as opaque axioms in the Lean external model).\n// Each is exactly the corresponding `sha2_cat_1` primitive; behavioural\n// identity is what the differential test below checks.\n// ---------------------------------------------------------------------------\npub(crate) mod oracle {\n use crate::types::Adrs;\n\n #[inline(never)]\n pub(crate) fn f(pk_seed: &[u8], adrs: &Adrs, m1: &[u8]) -> [u8; N] {\n crate::hashers::sha2_cat_1::f::(pk_seed, adrs, m1)\n }\n\n #[inline(never)]\n pub(crate) fn h(pk_seed: &[u8], adrs: &Adrs, m1: &[u8], m2: &[u8]) -> [u8; N] {\n crate::hashers::sha2_cat_1::h::(pk_seed, adrs, m1, m2)\n }\n\n // WOTS+ public-key compression: T_len over LEN chains (X = LEN).\n #[inline(never)]\n pub(crate) fn t_l(\n pk_seed: &[u8], adrs: &Adrs, ml: &[[u8; N]; X],\n ) -> [u8; N] {\n crate::hashers::sha2_cat_1::t_l::(pk_seed, adrs, ml)\n }\n\n // FORS root compression: T_k over K trees (X = K). Same primitive as t_l,\n // distinct call site — kept as its own name to mirror the Hashers struct.\n #[inline(never)]\n pub(crate) fn t_len(\n pk_seed: &[u8], adrs: &Adrs, ml: &[[u8; N]; X],\n ) -> [u8; N] {\n crate::hashers::sha2_cat_1::t_l::(pk_seed, adrs, ml)\n }\n\n // Aeneas-compat: takes the message digest input M' as a SINGLE contiguous\n // slice (nested `&[&[u8]]` is untranslatable; see dalek verify_sha512).\n // H_msg hashes r ‖ pk_seed ‖ pk_root ‖ M', and SHA-256 is over the byte\n // concatenation, so passing the pre-concatenated M' as one slice yields the\n // identical digest to the deployed multi-slice call.\n #[inline(never)]\n pub(crate) fn h_msg(\n r: &[u8], pk_seed: &[u8], pk_root: &[u8], mprime: &[u8],\n ) -> [u8; M] {\n crate::hashers::sha2_cat_1::h_msg::(r, pk_seed, pk_root, &[mprime])\n }\n}\n\n// ---------------------------------------------------------------------------\n// Algorithm 5: chain — body verbatim from wots.rs::chain, hashers.f -> oracle::f.\n// ---------------------------------------------------------------------------\npub(crate) fn chain_free(\n cap_x: [u8; N], i: u32, s: u32, pk_seed: &[u8], adrs: &Adrs,\n) -> [u8; N] {\n debug_assert!(i + s < u32::MAX);\n let mut adrs = adrs.clone();\n let mut tmp = cap_x;\n for j in i..(i + s) {\n adrs.set_hash_address(j);\n tmp = oracle::f::(pk_seed, &adrs, &tmp);\n }\n tmp\n}\n\n// ---------------------------------------------------------------------------\n// Algorithm 8: wots_PKFromSig — verbatim from wots.rs, hash calls -> oracle::*.\n// ---------------------------------------------------------------------------\npub(crate) fn wots_pk_from_sig_free(\n sig: &WotsSig, m: &[u8], pk_seed: &[u8], adrs: &Adrs,\n) -> WotsPk {\n // Aeneas-compat: plain cast for const-generic params (Result plumbing is\n // untranslatable-clean; every FIPS 205 parameter is <= 63, cast lossless).\n let n32 = N as u32;\n let mut adrs = adrs.clone();\n let mut tmp = [[0u8; N]; LEN];\n\n let mut csum = 0_u32;\n let mut msg = [0u32; LEN];\n base_2b(m, crate::LGW, 2 * n32, &mut msg[0..(2 * N)]);\n\n // Aeneas-compat: index loop with value reads (iterator adapters and the\n // &u32 Sub instance are untranslatable); same first-2N iteration space.\n for i in 0..(2 * N) {\n csum += crate::W - 1 - msg[i];\n }\n\n csum <<= (8 - ((crate::LEN2 * crate::LGW) & 0x07)) & 0x07;\n base_2b(\n &to_byte(csum, (crate::LEN2 * crate::LGW + 7) / 8),\n crate::LGW,\n crate::LEN2,\n &mut msg[(2 * N)..],\n );\n\n #[allow(clippy::cast_possible_truncation)]\n for i in 0..LEN {\n adrs.set_chain_address(i as u32);\n tmp[i] = chain_free::(\n sig.data[i],\n msg[i],\n crate::W - 1 - msg[i],\n pk_seed,\n &adrs,\n );\n }\n\n let mut wotspk_adrs = adrs.clone();\n wotspk_adrs.set_type_and_clear(WOTS_PK);\n wotspk_adrs.set_key_pair_address(adrs.get_key_pair_address());\n let pk = oracle::t_l::(pk_seed, &wotspk_adrs, &tmp);\n WotsPk(pk)\n}\n\n// ---------------------------------------------------------------------------\n// Algorithm 10: xmss_PKFromSig — verbatim from xmss.rs, hash calls -> oracle::*.\n// ---------------------------------------------------------------------------\npub(crate) fn xmss_pk_from_sig_free(\n idx: u32, sig_xmss: &XmssSig, m: &[u8], pk_seed: &[u8], adrs: &Adrs,\n) -> [u8; N] {\n let hp32 = HP as u32; // Aeneas-compat: lossless (HP <= 63 in all sets)\n let mut adrs = adrs.clone();\n\n adrs.set_type_and_clear(WOTS_HASH);\n adrs.set_key_pair_address(idx);\n\n let sig = sig_xmss.get_wots_sig();\n let auth = sig_xmss.get_xmss_auth();\n\n let mut node_0 = wots_pk_from_sig_free::(sig, m, pk_seed, &adrs).0;\n\n adrs.set_type_and_clear(TREE);\n adrs.set_tree_index(idx);\n\n for k in 0..hp32 {\n adrs.set_tree_height(k + 1);\n let node_1 = if ((idx >> k) & 1) == 0 {\n let tmp = adrs.get_tree_index() / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &node_0, &auth[k as usize])\n } else {\n let tmp = (adrs.get_tree_index() - 1) / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &auth[k as usize], &node_0)\n };\n node_0 = node_1;\n }\n\n node_0\n}\n\n// ---------------------------------------------------------------------------\n// Algorithm 12: ht_verify — verbatim from hypertree.rs, calls -> *_free.\n// ---------------------------------------------------------------------------\npub(crate) fn ht_verify_free(\n m: &[u8], sig_ht: &HtSig, pk_seed: &[u8], idx_tree: u64, idx_leaf: u32,\n pk_root: &[u8; N],\n) -> bool {\n let mut idx_tree = idx_tree;\n let (d32, hp32) = (D as u32, HP as u32); // Aeneas-compat: lossless casts\n\n let mut adrs = Adrs::default();\n adrs.set_tree_address(idx_tree);\n\n let sig_tmp = sig_ht.xmss_sigs[0].clone();\n let mut node = xmss_pk_from_sig_free::(idx_leaf, &sig_tmp, m, pk_seed, &adrs);\n\n for j in 1..d32 {\n // Aeneas-compat: plain cast (Result plumbing untranslatable-clean).\n // The value is masked to hp' bits and hp' <= 9 for every FIPS 205\n // parameter set, so the u32 conversion cannot fail: identical.\n #[allow(clippy::cast_possible_truncation)]\n let idx_leaf = (idx_tree & ((1 << hp32) - 1)) as u32;\n\n idx_tree >>= hp32;\n\n adrs.set_layer_address(j);\n adrs.set_tree_address(idx_tree);\n\n let sig_tmp = sig_ht.xmss_sigs[j as usize].clone();\n node = xmss_pk_from_sig_free::(idx_leaf, &sig_tmp, &node, pk_seed, &adrs);\n }\n\n node == *pk_root // Public data, thus no CT eq required\n}\n\n// ---------------------------------------------------------------------------\n// Algorithm 17: fors_pkFromSig — verbatim from fors.rs, hash calls -> oracle::*.\n// ---------------------------------------------------------------------------\npub(crate) fn fors_pk_from_sig_free(\n sig_fors: &ForsSig, md: &[u8], pk_seed: &[u8], adrs: &Adrs,\n) -> ForsPk {\n let (a32, k32) = (A as u32, K as u32); // Aeneas-compat: lossless casts\n let mut adrs = adrs.clone();\n\n let mut indices = [0u32; K];\n base_2b(md, a32, k32, &mut indices);\n\n let mut root = [[0u8; N]; K];\n for i in 0..k32 {\n let sk = sig_fors.private_key_value[i as usize];\n\n adrs.set_tree_height(0);\n adrs.set_tree_index((i << a32) + indices[i as usize]);\n\n let mut node_0 = oracle::f::(pk_seed, &adrs, &sk);\n\n let auth = sig_fors.auth[i as usize].clone();\n\n for j in 0..a32 {\n adrs.set_tree_height(j + 1);\n let node_1 = if ((indices[i as usize] >> j) & 0x01) == 0 {\n let tmp = adrs.get_tree_index() / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &node_0, &auth.tree[j as usize])\n } else {\n let tmp = (adrs.get_tree_index() - 1) / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &auth.tree[j as usize], &node_0)\n };\n node_0 = node_1;\n }\n\n root[i as usize] = node_0;\n }\n\n let mut fors_pk_adrs = adrs.clone();\n fors_pk_adrs.set_type_and_clear(FORS_ROOTS);\n fors_pk_adrs.set_key_pair_address(adrs.get_key_pair_address());\n let pk = oracle::t_len::(pk_seed, &fors_pk_adrs, &root);\n ForsPk { key: pk }\n}\n\n// ---------------------------------------------------------------------------\n// Algorithm 20: slh_verify_internal — verbatim from slh.rs, calls -> *_free.\n// ---------------------------------------------------------------------------\n#[allow(clippy::too_many_arguments, clippy::many_single_char_names)]\npub(crate) fn slh_verify_internal_free<\n const A: usize,\n const D: usize,\n const H: usize,\n const HP: usize,\n const K: usize,\n const LEN: usize,\n const M: usize,\n const N: usize,\n>(\n mprime: &[u8], sig: &SlhDsaSig, pk: &SlhPublicKey,\n) -> bool {\n let (d32, h32) = (D as u32, H as u32); // Aeneas-compat: lossless casts\n\n let mut adrs = Adrs::default();\n\n let r = &sig.randomness;\n let sig_fors = &sig.fors_sig;\n let sig_ht = &sig.ht_sig;\n\n let digest = oracle::h_msg::(r, &pk.pk_seed, &pk.pk_root, mprime);\n\n let index1 = (K * A + 7) / 8;\n let md = &digest[0..index1];\n\n let index2 = index1 + (H - H / D + 7) / 8;\n let tmp_idx_tree = &digest[index1..index2];\n\n let index3 = index2 + (H + 8 * D - 1) / (8 * D);\n let tmp_idx_leaf = &digest[index2..index3];\n\n let idx_tree = to_int(tmp_idx_tree, (h32 - h32 / d32 + 7) / 8)\n & (u64::MAX >> (64 - (h32 - h32 / d32)));\n\n let idx_leaf = to_int(tmp_idx_leaf, (h32 + 8 * d32 - 1) / (8 * d32))\n & (u64::MAX >> (64 - h32 / d32));\n\n adrs.set_tree_address(idx_tree);\n adrs.set_type_and_clear(FORS_TREE);\n // Aeneas-compat: plain cast (Result plumbing untranslatable-clean). The\n // value is masked to h/d bits above and h/d <= 9 for every FIPS 205\n // parameter set, so the u32 conversion cannot fail: identical.\n #[allow(clippy::cast_possible_truncation)]\n let idx_leaf_u32 = idx_leaf as u32;\n adrs.set_key_pair_address(idx_leaf_u32);\n\n let pk_fors = fors_pk_from_sig_free::(sig_fors, md, &pk.pk_seed, &adrs);\n\n ht_verify_free::(\n &pk_fors.key,\n sig_ht,\n &pk.pk_seed,\n idx_tree,\n idx_leaf_u32,\n &pk.pk_root,\n )\n}\n\n// ---------------------------------------------------------------------------\n// Monomorphic entry: SLH-DSA-SHA2-128s (N=16, H=63, D=7, HP=9, A=12, K=14,\n// M=30, LEN=2*N+3=35). This is the single extraction root.\n// ---------------------------------------------------------------------------\n// `mprime` is the FIPS 205 message digest input M' = toByte(0,1) ‖\n// toByte(|ctx|,1) ‖ ctx ‖ M, pre-concatenated into one slice (the wrappers\n// that build M' are out of scope; Algorithm 20's input is already M').\npub(crate) fn slh_verify_128s(\n mprime: &[u8], sig: &SlhDsaSig<12, 7, 9, 14, 35, 16>, pk: &SlhPublicKey<16>,\n) -> bool {\n slh_verify_internal_free::<12, 7, 63, 9, 14, 35, 30, 16>(mprime, sig, pk)\n}\n\n// ---------------------------------------------------------------------------\n// Fidelity: the monomorphic path must agree with the deployed generic\n// verifier on real signatures — valid, corrupted, and wrong-message.\n// ---------------------------------------------------------------------------\n#[cfg(test)]\nmod tests {\n use super::slh_verify_128s;\n use crate::slh_dsa_sha2_128s::{PublicKey, KG};\n use crate::traits::{KeyGen, SerDes, Signer, Verifier};\n use crate::types::{SlhDsaSig, SlhPublicKey};\n // This crate is no_std; the test binary links std, so pull in the pieces the\n // NIST-vector tests need (heap vectors for variable-length messages/contexts,\n // and serde_json for the ACVP file).\n extern crate std;\n use std::vec::Vec;\n use std::{println, vec};\n\n use rand_chacha::rand_core::SeedableRng;\n use rand_chacha::ChaCha8Rng;\n\n // Rebuild the pub(crate) internal structs the deployed `verify` uses\n // internally, from the public byte encodings, so the mono path can be\n // called on identical inputs.\n fn internal_inputs(\n pk: &PublicKey, sig_bytes: &[u8; 7856],\n ) -> (SlhPublicKey<16>, SlhDsaSig<12, 7, 9, 14, 35, 16>) {\n let pk_bytes = pk.clone().into_bytes();\n let mut pk_seed = [0u8; 16];\n let mut pk_root = [0u8; 16];\n pk_seed.copy_from_slice(&pk_bytes[0..16]);\n pk_root.copy_from_slice(&pk_bytes[16..32]);\n let internal_pk = SlhPublicKey { pk_seed, pk_root };\n let sig = SlhDsaSig::<12, 7, 9, 14, 35, 16>::deserialize(sig_bytes);\n (internal_pk, sig)\n }\n\n #[test]\n fn mono_matches_deployed_verify() {\n let mut rng = ChaCha8Rng::seed_from_u64(0xF1D5_205u64);\n for round in 0u8..3 {\n let (pk, sk) = KG::try_keygen_with_rng(&mut rng).unwrap();\n let msg = [round, 0x11, 0x22, 0x33, round.wrapping_mul(7)];\n\n let sig_bytes = sk.try_sign_with_rng(&mut rng, &msg, &[], false).unwrap();\n\n // empty-ctx M' = toByte(0,1) ‖ toByte(0,1) ‖ <> ‖ msg, concatenated\n // (byte-identical to the &[&[0],&[0],&[],msg] the deployed path hashes)\n let mprime = [0u8, 0u8, msg[0], msg[1], msg[2], msg[3], msg[4]];\n\n let (internal_pk, sig) = internal_inputs(&pk, &sig_bytes);\n\n // 1) valid signature: deployed accepts, mono must accept, and agree\n let deployed_ok = pk.verify(&msg, &sig_bytes, &[]);\n let mono_ok = slh_verify_128s(&mprime, &sig, &internal_pk);\n assert!(deployed_ok, \"deployed verify rejected a fresh valid signature\");\n assert_eq!(mono_ok, deployed_ok, \"mono disagrees with deployed on valid sig\");\n\n // 2) corrupted signature: both must reject, together\n let mut bad_bytes = sig_bytes;\n bad_bytes[100] ^= 0x01;\n let (_, bad_sig) = internal_inputs(&pk, &bad_bytes);\n let deployed_bad = pk.verify(&msg, &bad_bytes, &[]);\n let mono_bad = slh_verify_128s(&mprime, &bad_sig, &internal_pk);\n assert_eq!(mono_bad, deployed_bad, \"mono disagrees with deployed on corrupt sig\");\n assert!(!mono_bad, \"corrupt signature accepted\");\n\n // 3) wrong message: both must reject, together\n let other = [round, 0x11, 0x22, 0x33, round.wrapping_mul(7).wrapping_add(1)];\n let mprime2 = [0u8, 0u8, other[0], other[1], other[2], other[3], other[4]];\n let deployed_wm = pk.verify(&other, &sig_bytes, &[]);\n let mono_wm = slh_verify_128s(&mprime2, &sig, &internal_pk);\n assert_eq!(mono_wm, deployed_wm, \"mono disagrees with deployed on wrong message\");\n assert!(!mono_wm, \"wrong-message signature accepted\");\n }\n }\n\n // ───────────────────────────────────────────────────────────────────────\n // NIST ACVP known-answer coverage for SLH-DSA-SHA2-128s.\n //\n // Why this exists: the ACVP vector file vendored upstream contains NO\n // SHA2-128s sigVer group (only 192s/256f/SHAKE variants), so the single\n // parameter set this verification campaign is about had ZERO NIST\n // known-answer verification coverage — flagged by external review across\n // three rounds as the largest non-gate gap. The three 128s sigVer groups\n // were extracted verbatim from the official NIST ACVP-Server vector set\n // into tests/nist_acvp_vectors/SLH-DSA-sigVer-FIPS205/sha2_128s_extracted.json\n // (provenance, source URL and upstream sha256 recorded inside that file).\n //\n // NIST supplies 14 tests per group: 2 valid, and 12 negative spread over\n // structurally distinct corruption sites — modified R, modified SIGFORS,\n // modified SIGHT, modified message, and signatures that are too small or\n // too large. That is materially stronger than flipping one fixed byte.\n const ACVP_128S: &str = include_str!(\n \"../tests/nist_acvp_vectors/SLH-DSA-sigVer-FIPS205/sha2_128s_extracted.json\"\n );\n\n fn hexb(s: &str) -> Vec {\n (0..s.len()).step_by(2).map(|i| u8::from_str_radix(&s[i..i + 2], 16).unwrap()).collect()\n }\n\n fn acvp_groups() -> Vec {\n let v: serde_json::Value = serde_json::from_str(ACVP_128S).unwrap();\n v[\"testGroups\"].as_array().unwrap().clone()\n }\n\n fn pk_parts(pk_hex: &str) -> SlhPublicKey<16> {\n let b = hexb(pk_hex);\n assert_eq!(b.len(), 32, \"128s public key must be 32 bytes\");\n let mut pk_seed = [0u8; 16];\n let mut pk_root = [0u8; 16];\n pk_seed.copy_from_slice(&b[0..16]);\n pk_root.copy_from_slice(&b[16..32]);\n SlhPublicKey { pk_seed, pk_root }\n }\n\n /// THE PROVED PATH AGAINST NIST. The `internal` group carries M' directly\n /// (no context wrapping, no domain separator), which is exactly the input\n /// `verify_mono::slh_verify_128s` consumes — so these are true\n /// known-answer tests of the function the eleven Lean certificates are\n /// about, not of a wrapper above it.\n #[test]\n fn mono_matches_nist_acvp_128s_internal() {\n let mut checked = 0usize;\n let mut deserialization_rejects = 0usize;\n for g in acvp_groups() {\n if g[\"signatureInterface\"] != \"internal\" { continue; }\n for t in g[\"tests\"].as_array().unwrap() {\n let expected = t[\"testPassed\"].as_bool().unwrap();\n let sig_v = hexb(t[\"signature\"].as_str().unwrap());\n let msg = hexb(t[\"message\"].as_str().unwrap());\n let ipk = pk_parts(t[\"pk\"].as_str().unwrap());\n // Wrong-length signatures are rejected by deserialization, which\n // sits ABOVE the extraction root (TRUSTED-BASE item 10) — the\n // proved path is never reached. Record, do not silently skip.\n if sig_v.len() != 7856 {\n assert!(!expected, \"NIST expects a wrong-length signature to fail\");\n deserialization_rejects += 1;\n continue;\n }\n let mut sig_bytes = [0u8; 7856];\n sig_bytes.copy_from_slice(&sig_v);\n let sig = SlhDsaSig::<12, 7, 9, 14, 35, 16>::deserialize(&sig_bytes);\n let got = slh_verify_128s(&msg, &sig, &ipk);\n assert_eq!(\n got, expected,\n \"tcId {} ({}): mono verdict {} != NIST {}\",\n t[\"tcId\"], t[\"reason\"].as_str().unwrap_or(\"\"), got, expected\n );\n checked += 1;\n }\n }\n // Exact accounting: every NIST test is either executed against the proved\n // path or explicitly attributed to deserialization. Nothing is silently\n // skipped, and if NIST's file changes shape this fails loudly.\n assert_eq!(checked + deserialization_rejects, 14, \"unaccounted NIST internal tests\");\n assert_eq!(checked, 10, \"expected 10 executable internal KATs\");\n assert_eq!(deserialization_rejects, 4, \"expected 4 wrong-length (too small/large) cases\");\n println!(\n \"mono vs NIST ACVP 128s (internal): {checked} executed against the PROVED path, \\\n {deserialization_rejects} rejected at deserialization (above the extraction root)\"\n );\n }\n\n /// THE M' ASSEMBLY, PINNED EMPIRICALLY. The `external pure` group carries a\n /// real (often NON-EMPTY) context, so building M' the way lib.rs does and\n /// feeding it to the mono path checks the domain-separator byte and the\n /// context-length prefix that TRUSTED-BASE item 10 declares OUTSIDE every\n /// proof. Mono, the deployed verifier, and NIST must all agree.\n #[test]\n fn mono_matches_nist_acvp_128s_external_pure() {\n use crate::slh_dsa_sha2_128s::PublicKey as PK128s;\n let mut checked = 0usize;\n let mut wrong_len = 0usize;\n let mut with_ctx = 0usize;\n for g in acvp_groups() {\n if g[\"signatureInterface\"] != \"external\" || g[\"preHash\"] != \"pure\" { continue; }\n for t in g[\"tests\"].as_array().unwrap() {\n let expected = t[\"testPassed\"].as_bool().unwrap();\n let sig_v = hexb(t[\"signature\"].as_str().unwrap());\n if sig_v.len() != 7856 { assert!(!expected); wrong_len += 1; continue; }\n let msg = hexb(t[\"message\"].as_str().unwrap());\n let ctx = hexb(t[\"context\"].as_str().unwrap_or(\"\"));\n assert!(ctx.len() <= 255, \"ACVP context longer than FIPS 205 allows\");\n if !ctx.is_empty() { with_ctx += 1; }\n let pk_b = hexb(t[\"pk\"].as_str().unwrap());\n let mut pk_arr = [0u8; 32];\n pk_arr.copy_from_slice(&pk_b);\n let mut sig_bytes = [0u8; 7856];\n sig_bytes.copy_from_slice(&sig_v);\n\n // M' = toByte(0,1) ‖ toByte(|ctx|,1) ‖ ctx ‖ M (pure variant)\n let mut mprime = Vec::with_capacity(2 + ctx.len() + msg.len());\n mprime.push(0u8);\n mprime.push(ctx.len() as u8);\n mprime.extend_from_slice(&ctx);\n mprime.extend_from_slice(&msg);\n\n let ipk = pk_parts(t[\"pk\"].as_str().unwrap());\n let sig = SlhDsaSig::<12, 7, 9, 14, 35, 16>::deserialize(&sig_bytes);\n let mono = slh_verify_128s(&mprime, &sig, &ipk);\n\n let deployed = PK128s::try_from_bytes(&pk_arr).unwrap().verify(&msg, &sig_bytes, &ctx);\n assert_eq!(mono, deployed, \"tcId {}: mono != deployed\", t[\"tcId\"]);\n assert_eq!(\n mono, expected,\n \"tcId {} ({}): verdict {} != NIST {}\",\n t[\"tcId\"], t[\"reason\"].as_str().unwrap_or(\"\"), mono, expected\n );\n checked += 1;\n }\n }\n assert_eq!(checked + wrong_len, 14, \"unaccounted NIST external-pure tests\");\n assert_eq!(checked, 10, \"expected 10 executable external-pure KATs\");\n // Exact, not a floor: a NIST data update that quietly reduced non-empty\n // contexts to one would otherwise pass silently (round-7 review).\n assert_eq!(with_ctx, 9, \"expected 9 executable non-empty-context KATs\");\n println!(\n \"mono+deployed vs NIST ACVP 128s (external pure): {checked} executed \\\n ({with_ctx} with a NON-EMPTY context), {wrong_len} rejected at deserialization\"\n );\n }\n\n /// The prehash group validates the DEPLOYED verifier against NIST for 128s.\n /// The mono path is deliberately NOT driven here: prehash M' assembly adds\n /// an OID and a message digest, and reconstructing it in the test would be\n /// re-implementing the very wrapper code that is out of scope — the honest\n /// statement is that this group covers the deployed path only.\n #[test]\n fn deployed_matches_nist_acvp_128s_prehash() {\n use crate::slh_dsa_sha2_128s::PublicKey as PK128s;\n use crate::types::Ph;\n let mut checked = 0usize;\n let mut unsupported_alg = 0usize;\n let mut wrong_len = 0usize;\n for g in acvp_groups() {\n if g[\"preHash\"] != \"preHash\" { continue; }\n for t in g[\"tests\"].as_array().unwrap() {\n let expected = t[\"testPassed\"].as_bool().unwrap();\n let sig_v = hexb(t[\"signature\"].as_str().unwrap());\n if sig_v.len() != 7856 { assert!(!expected); wrong_len += 1; continue; }\n // FIPS 205 permits more prehash functions than this crate's `Ph`\n // enum implements (NIST exercises SHA3-* and the truncated SHA2\n // variants too). Those are unreachable through the public API, so\n // they are counted and skipped rather than failing the test.\n let ph = match t[\"hashAlg\"].as_str().unwrap_or(\"\") {\n \"SHA2-256\" => Ph::SHA256,\n \"SHA2-512\" => Ph::SHA512,\n \"SHAKE-128\" => Ph::SHAKE128,\n \"SHAKE-256\" => Ph::SHAKE256,\n _ => { unsupported_alg += 1; continue; }\n };\n let msg = hexb(t[\"message\"].as_str().unwrap());\n let ctx = hexb(t[\"context\"].as_str().unwrap_or(\"\"));\n let pk_b = hexb(t[\"pk\"].as_str().unwrap());\n let mut pk_arr = [0u8; 32];\n pk_arr.copy_from_slice(&pk_b);\n let mut sig_bytes = [0u8; 7856];\n sig_bytes.copy_from_slice(&sig_v);\n let got = PK128s::try_from_bytes(&pk_arr).unwrap().hash_verify(&msg, &sig_bytes, &ctx, &ph);\n assert_eq!(\n got, expected,\n \"tcId {} ({}): deployed prehash verdict {} != NIST {}\",\n t[\"tcId\"], t[\"reason\"].as_str().unwrap_or(\"\"), got, expected\n );\n checked += 1;\n }\n }\n assert_eq!(checked + wrong_len + unsupported_alg, 14, \"unaccounted NIST prehash tests\");\n // Exact counts. With 7 of 14 skipped for unimplemented prehash functions,\n // a floor of `> 0` would let real coverage fall from 3 to 1 invisibly\n // while the total still summed to 14 (round-7 review).\n assert_eq!(checked, 3, \"expected exactly 3 executable prehash KATs\");\n assert_eq!(wrong_len, 4, \"expected exactly 4 wrong-length prehash cases\");\n assert_eq!(unsupported_alg, 7, \"expected exactly 7 unimplemented-prehash skips\");\n println!(\n \"deployed vs NIST ACVP 128s (prehash): {checked} executed, {wrong_len} wrong-length, \\\n {unsupported_alg} skipped (hash function not implemented by this crate)\"\n );\n }\n\n /// RANDOMIZED DIFFERENTIAL BRIDGE. The original bridge was nine assertion\n /// points: three rounds from one fixed seed, corrupting one fixed byte\n /// (index 100) of a 7856-byte signature. This walks many seeds and spreads\n /// corruption over **72 distinct deterministic positions in the range\n /// 11..=7779** of the 7856-byte signature (round-7 review measured the\n /// schedule; \"the whole signature\" overstated it — bytes 0-10 and\n /// 7780-7855 are never selected), and adds wrong-key and wrong-context\n /// cases the original never exercised. Every point asserts\n /// mono and deployed agree — that is the bridge — and that forgeries are\n /// rejected.\n #[test]\n fn mono_matches_deployed_randomized() {\n let mut rng = ChaCha8Rng::seed_from_u64(0x5EED_0F15u64);\n let mut points = 0usize;\n for round in 0u32..12 {\n let (pk, sk) = KG::try_keygen_with_rng(&mut rng).unwrap();\n let (pk_other, _) = KG::try_keygen_with_rng(&mut rng).unwrap();\n // vary message length, including empty\n let mlen = (round as usize * 7) % 23;\n let msg: Vec = (0..mlen).map(|i| (i as u8).wrapping_mul(31).wrapping_add(round as u8)).collect();\n let sig_bytes = sk.try_sign_with_rng(&mut rng, &msg, &[], false).unwrap();\n\n let mut mprime = vec![0u8, 0u8];\n mprime.extend_from_slice(&msg);\n let (ipk, sig) = internal_inputs(&pk, &sig_bytes);\n\n // valid\n let d = pk.verify(&msg, &sig_bytes, &[]);\n let m = slh_verify_128s(&mprime, &sig, &ipk);\n assert!(d, \"deployed rejected a fresh valid signature\");\n assert_eq!(m, d, \"round {round}: mono != deployed on a valid signature\");\n points += 1;\n\n // corruption spread across the entire signature, not one fixed byte\n for k in 0..6 {\n let mut bad = sig_bytes;\n let idx = ((round as usize * 1237 + k * 1301) * 7 + 11) % bad.len();\n let bit = 1u8 << ((round as usize + k) % 8);\n bad[idx] ^= bit;\n let (_, bad_sig) = internal_inputs(&pk, &bad);\n let db = pk.verify(&msg, &bad, &[]);\n let mb = slh_verify_128s(&mprime, &bad_sig, &ipk);\n assert_eq!(mb, db, \"round {round}: mono != deployed on corruption at byte {idx}\");\n assert!(!mb, \"round {round}: corrupted signature accepted (byte {idx})\");\n points += 1;\n }\n\n // wrong public key — never exercised before\n let (ipk_other, _) = internal_inputs(&pk_other, &sig_bytes);\n let dk = pk_other.verify(&msg, &sig_bytes, &[]);\n let mk = slh_verify_128s(&mprime, &sig, &ipk_other);\n assert_eq!(mk, dk, \"round {round}: mono != deployed under a wrong public key\");\n assert!(!mk, \"round {round}: signature verified under the wrong public key\");\n points += 1;\n\n // wrong context: deployed is given a non-empty ctx while the\n // signature was made over the empty one; M' changes accordingly.\n let ctx = [round as u8, 0xAA];\n let mut mprime_ctx = vec![0u8, ctx.len() as u8];\n mprime_ctx.extend_from_slice(&ctx);\n mprime_ctx.extend_from_slice(&msg);\n let dc = pk.verify(&msg, &sig_bytes, &ctx);\n let mc = slh_verify_128s(&mprime_ctx, &sig, &ipk);\n assert_eq!(mc, dc, \"round {round}: mono != deployed under a wrong context\");\n assert!(!mc, \"round {round}: signature verified under the wrong context\");\n points += 1;\n }\n assert_eq!(points, 108, \"expected exactly 108 differential points, got {points}\");\n println!(\"randomized differential bridge: {points} assertion points\");\n }\n}\n"},{"id":1,"name":{"Local":"src/lib.rs"},"crate_name":"fips205","contents":"#![no_std]\n#![deny(clippy::pedantic, warnings, missing_docs, unsafe_code)]\n// Most of the 'allow' category...\n#![deny(absolute_paths_not_starting_with_crate, dead_code)]\n#![deny(elided_lifetimes_in_paths, explicit_outlives_requirements, keyword_idents)]\n#![deny(let_underscore_drop, macro_use_extern_crate, meta_variable_misuse, missing_abi)]\n#![deny(non_ascii_idents, rust_2021_incompatible_closure_captures)]\n#![deny(rust_2021_incompatible_or_patterns, rust_2021_prefixes_incompatible_syntax)]\n#![deny(rust_2021_prelude_collisions, single_use_lifetimes, trivial_casts)]\n#![deny(trivial_numeric_casts, unreachable_pub, unsafe_op_in_unsafe_fn, unstable_features)]\n#![deny(unused_extern_crates, unused_import_braces, unused_lifetimes, unused_macro_rules)]\n#![deny(unused_qualifications, unused_results, variant_size_differences)]\n//\n#![doc = include_str!(\"../README.md\")]\n\n// Implements FIPS 205 Stateless Hash-Based Digital Signature Standard.\n// See \n//\n// Algorithm 1 gen_len2 (n, lgw) --> precomputed\n// Algorithm 2 toInt(X, n) --> helpers.rs\n// Algorithm 3 toByte(x, n) --> helpers.rs\n// Algorithm 4 base_2b(X, b, out_len) --> helpers.rs\n// Algorithm 5 chain(X, i, s, PK.seed, ADRS) --> wots.rs\n// Algorithm 6 wots_PKgen(SK.seed, PK.seed, ADRS) --> wots.rs\n// Algorithm 7 wots_sign(M, SK.seed, PK.seed, ADRS) --> wots.rs\n// Algorithm 8 wots_PKFromSig(sig, M, PK.seed, ADRS) --> wots.rs\n// Algorithm 9 xmss_node(SK.seed, i, z, PK.seed, ADRS) --> xmss.rs\n// Algorithm 10 xmss_sign(M, SK.seed, idx, PK.seed, ADRS) --> xmss.rs\n// Algorithm 11 xmss_PKFromSig(idx, SIGXMSS, M, PK.seed, ADRS) --> xmss.rs\n// Algorithm 12 ht_sign(M, SK.seed, PK.seed, idxtree, idxleaf) --> hypertree.rs\n// Algorithm 13 ht_verify(M, SIGHT, PK.seed, idxtree, idxleaf, PK.root) --> hypertree.rs\n// Algorithm 14 fors_SKgen(SK.seed, PK.seed, ADRS, idx) --> fors.rs\n// Algorithm 15 fors_node(SK.seed, i, z, PK.seed, ADRS) --> fors.rs\n// Algorithm 16 fors_sign(md, SK.seed, PK.seed, ADRS) --> fors.rs\n// Algorithm 17 fors_pkFromSig(SIGFORS, md, PK.seed, ADRS) --> fors.rs\n// Algorithm 18 slh_keygen_internal(SK.seed, SK.prf, PK.seed) --> slh.rs\n// Algorithm 19 slh_sign_internal(M, SK, addrnd) --> slh.rs\n// Algorithm 20 slh_verify_internal(M, SIG, PK) --> slh.rs\n// Algorithm 21 slh_keygen() --> slh.rs\n// Algorithm 22 slh_sign(M, ctx, SK) --> slh.rs\n// Algorithm 23 hash_slh_sign(M, ctx, PH, SK) --> slh.rs\n// Algorithm 24 slh_verify(M, SIG, ctx, PK) --> slh.rs\n// Algorithm 25 hash_slh_verify(M, SIG, ctx, PH, PK) --> slh.rs\n// Fairly elaborate hashing is found in hashers.rs\n// Signature serialize/deserialize and Adrs support can be found in helpers.rs\n// types are in types.rs, traits are in traits.rs, and lib.rs provides wrappers into slh.rs\n\n\n// TODO: Roadmap\n// 1. Additional (external) top-level test vectors, particularly for hash variants (!!)\n// 2. Implement fuzz harness, embedded target, revise WASM test\n// 3. Experiment with struct alignment for performance uplift? (and fixed size 'slices')\n\n\n/// All functionality is covered by traits, such that consumers can utilize trait objects as desired.\npub mod traits;\npub use types::Ph;\n\nmod fors;\nmod hashers;\nmod helpers;\nmod hypertree;\nmod slh;\nmod types;\n#[cfg(feature = \"slh_dsa_sha2_128s\")]\nmod verify_mono; // Aeneas-compat monomorphic verify path (formal-verification campaign; additive)\nmod wots;\nmod xmss;\n\n\n// Per eqns 5.1-4 on page 17, LGW=4, W=16 and LEN2=3 are constant across all security parameter sets.\nconst LGW: u32 = 4;\nconst W: u32 = 16;\nconst LEN2: u32 = 3;\n\n\n// This common functionality is injected into each parameter set module\nmacro_rules! functionality {\n () => {\n use crate::hashers::hash_message;\n use crate::traits::{KeyGen, SerDes, Signer, Verifier};\n use crate::types::{Ph, SlhDsaSig, SlhPrivateKey, SlhPublicKey};\n use rand_core::CryptoRngCore;\n use zeroize::{Zeroize, ZeroizeOnDrop};\n\n\n // ----- 'EXTERNAL' DATA TYPES -----\n\n /// Correctly sized private key specific to the target security parameter set.
\n /// Implements the [`crate::traits::Signer`] and [`crate::traits::SerDes`] traits.\n #[derive(Clone, Zeroize, ZeroizeOnDrop)]\n pub struct PrivateKey(SlhPrivateKey);\n\n /// Correctly sized public key specific to the target security parameter set.
\n /// Implements the [`crate::traits::Verifier`] and [`crate::traits::SerDes`] traits.\n #[derive(Clone, Zeroize, ZeroizeOnDrop)]\n pub struct PublicKey(SlhPublicKey);\n\n /// Empty struct to enable `KeyGen` trait objects across security parameter sets.
\n /// Implements the [`crate::traits::KeyGen`] trait.\n #[derive(Zeroize, ZeroizeOnDrop)]\n pub struct KG(); // Arguable how useful an empty struct+trait is...\n\n\n // ----- PRIMARY FUNCTIONS ---\n\n /// Generates a public and private key pair specific to this security parameter set.
\n /// This function utilizes the OS default random number generator, and operates in constant\n /// timing.\n /// # Errors\n /// Returns an error when the random number generator fails.\n /// # Examples\n /// ```rust\n /// use fips205::slh_dsa_shake_128s; // Could use any of the twelve security parameter sets.\n /// use fips205::traits::{SerDes, Signer, Verifier};\n /// # use std::error::Error;\n /// #\n /// # fn main() -> Result<(), Box> {\n ///\n /// let msg_bytes = [0u8, 1, 2, 3, 4, 5, 6, 7];\n ///\n ///\n /// // Generate both public and secret keys. This only fails when the OS rng fails.\n /// let (pk1, sk) = slh_dsa_shake_128s::try_keygen()?;\n /// // Use the secret key to generate a signature. The second parameter is the\n /// // context string (often just an empty &[]), and the last parameter selects\n /// // the preferred hedged variant. This only fails when the OS rng fails.\n /// let sig_bytes = sk.try_sign(&msg_bytes, b\"context\", true)?;\n ///\n ///\n /// // Serialize the public key, and send with message and signature bytes. These\n /// // statements model sending byte arrays over the wire.\n /// let (pk_send, msg_send, sig_send) = (pk1.into_bytes(), msg_bytes, sig_bytes);\n /// let (pk_recv, msg_recv, sig_recv) = (pk_send, msg_send, sig_send);\n ///\n ///\n /// // Deserialize the public key. This only fails on a malformed key.\n /// let pk2 = slh_dsa_shake_128s::PublicKey::try_from_bytes(&pk_recv)?;\n /// // Use the public key to verify the msg signature\n /// let v = pk2.verify(&msg_recv, &sig_recv, b\"context\");\n /// assert!(v);\n /// # Ok(())\n /// # }\n /// ```\n #[cfg(feature = \"default-rng\")]\n pub fn try_keygen() -> Result<(PublicKey, PrivateKey), &'static str> { KG::try_keygen() }\n\n\n /// Generates a public and private key pair specific to this security parameter set.
\n /// This function utilizes a supplied random number generator, and makes no (constant)\n /// timing assurances.\n /// # Errors\n /// Returns an error when the random number generator fails; propagates internal errors.\n /// # Examples\n /// ```rust\n /// use fips205::slh_dsa_shake_128s; // Could use any of the twelve security parameter sets.\n /// use fips205::traits::{SerDes, Signer, Verifier};\n /// # use std::error::Error;\n /// # use rand_core::OsRng;\n /// #\n /// # fn main() -> Result<(), Box> {\n ///\n /// let msg_bytes = [0u8, 1, 2, 3, 4, 5, 6, 7];\n /// let mut rng = OsRng;\n ///\n /// // Generate both public and secret keys. This only fails when the OS rng fails.\n /// let (pk1, sk) = slh_dsa_shake_128s::try_keygen_with_rng(&mut rng)?;\n /// // Use the secret key to generate a signature. The second parameter is the\n /// // context string (often just an empty &[]), and the last parameter selects\n /// // the preferred hedged variant. This only fails when the OS rng fails.\n /// let sig_bytes = sk.try_sign(&msg_bytes, b\"context\", true)?;\n ///\n ///\n /// // Serialize the public key, and send with message and signature bytes. These\n /// // statements model sending byte arrays over the wire.\n /// let (pk_send, msg_send, sig_send) = (pk1.into_bytes(), msg_bytes, sig_bytes);\n /// let (pk_recv, msg_recv, sig_recv) = (pk_send, msg_send, sig_send);\n ///\n ///\n /// // Deserialize the public key. This only fails on a malformed key.\n /// let pk2 = slh_dsa_shake_128s::PublicKey::try_from_bytes(&pk_recv)?;\n /// // Use the public key to verify the msg signature\n /// let v = pk2.verify(&msg_recv, &sig_recv, b\"context\");\n /// assert!(v);\n /// # Ok(())\n /// # }\n /// ```\n pub fn try_keygen_with_rng(\n rng: &mut impl CryptoRngCore,\n ) -> Result<(PublicKey, PrivateKey), &'static str> {\n KG::try_keygen_with_rng(rng)\n }\n\n\n impl KeyGen for KG {\n type PrivateKey = PrivateKey;\n type PublicKey = PublicKey;\n\n // Documented in traits.rs\n fn try_keygen_with_rng(\n rng: &mut impl CryptoRngCore,\n ) -> Result<(PublicKey, PrivateKey), &'static str> {\n let res = crate::slh::slh_keygen_with_rng::(rng, &HASHERS);\n res.map(|(sk, pk)| (PublicKey(pk), PrivateKey(sk)))\n }\n }\n\n\n impl Signer for PrivateKey {\n type Signature = [u8; SIG_LEN];\n type PublicKey = PublicKey;\n\n // Documented in traits.rs\n fn try_sign_with_rng(\n &self, rng: &mut impl CryptoRngCore, m: &[u8], ctx: &[u8], hedged: bool,\n ) -> Result<[u8; SIG_LEN], &'static str> {\n if ctx.len() > 255 {\n return Err(\"ctx must be less than 256 bytes\");\n };\n let mp: &[&[u8]] = &[&[0u8], &[ctx.len().to_le_bytes()[0]], ctx, m];\n let sig = crate::slh::slh_sign_with_rng::(\n rng, &HASHERS, &mp, &self.0, hedged,\n );\n sig.map(|s| s.serialize())\n }\n\n // Documented in traits.rs\n fn try_hash_sign_with_rng(\n &self, rng: &mut impl CryptoRngCore, message: &[u8], ctx: &[u8], ph: &Ph,\n hedged: bool,\n ) -> Result {\n if ctx.len() > 255 {\n return Err(\"ctx must be less than 256 bytes\");\n };\n let mut phm = [0u8; 64]; // hashers don't all play well with each other (varying output size)\n let (oid, phm_len) = hash_message(message, ph, &mut phm);\n let mp: &[&[u8]] = &[\n &[1u8],\n &[ctx.len().to_le_bytes()[0]],\n ctx,\n &oid,\n &phm[0..phm_len],\n ];\n let sig = crate::slh::slh_sign_with_rng::(\n rng, &HASHERS, &mp, &self.0, hedged, // BAD\n );\n sig.map(|s| s.serialize())\n }\n\n // Documented in traits.rs\n fn get_public_key(&self) -> Self::PublicKey {\n PublicKey(SlhPublicKey{pk_seed: self.0.pk_seed, pk_root: self.0.pk_root})\n }\n\n // Documented in traits.rs\n fn _test_only_raw_sign(\n &self, rng: &mut impl CryptoRngCore, m: &[u8], hedged: bool,\n ) -> Result<[u8; SIG_LEN], &'static str> {\n let mut opt_rand = (self.0).pk_seed;\n\n // 4: if (hedged) then ▷ or to a random n-byte string\n if hedged {\n // 5: opt_rand ←$ Bn\n rng.try_fill_bytes(&mut opt_rand).map_err(|_| \"Alg17: rng failed\")?;\n\n // 6: end if\n }\n let sig = crate::slh::slh_sign_internal::(\n &HASHERS,\n &[m],\n &self.0,\n opt_rand,\n );\n sig.map(|s| s.serialize())\n }\n }\n\n\n impl Verifier for PublicKey {\n type Signature = [u8; SIG_LEN];\n\n // Documented in traits.rs\n fn verify(&self, m: &[u8], sig_bytes: &[u8; SIG_LEN], ctx: &[u8]) -> bool {\n if ctx.len() > 255 {\n return false;\n };\n let sig = SlhDsaSig::::deserialize(sig_bytes);\n let mp: &[&[u8]] = &[&[0u8], &[ctx.len().to_le_bytes()[0]], ctx, m];\n let res = crate::slh::slh_verify::(\n &HASHERS, &mp, &sig, &self.0,\n );\n res\n }\n\n // Documented in traits.rs\n fn hash_verify(\n &self, m: &[u8], sig_bytes: &[u8; SIG_LEN], ctx: &[u8], ph: &Ph,\n ) -> bool {\n if ctx.len() > 255 {\n return false;\n };\n let sig = SlhDsaSig::::deserialize(sig_bytes);\n let mut phm = [0u8; 64]; // hashers don't all play well with each other (varying output size)\n let (oid, phm_len) = hash_message(m, ph, &mut phm);\n let mp: &[&[u8]] = &[\n &[1u8],\n &[ctx.len().to_le_bytes()[0]],\n ctx,\n &oid,\n &phm[0..phm_len],\n ];\n let res = crate::slh::slh_verify::(\n &HASHERS, &mp, &sig, &self.0,\n );\n res\n }\n\n // Documented in traits.rs\n fn _test_only_raw_verify(\n &self, m: &[u8], sig_bytes: &[u8; SIG_LEN],\n ) -> Result {\n let sig = SlhDsaSig::::deserialize(sig_bytes);\n let res = crate::slh::slh_verify_internal::(\n &HASHERS,\n &[m],\n &sig,\n &self.0,\n );\n Ok(res)\n }\n }\n\n\n // ----- SERIALIZATION AND DESERIALIZATION ---\n\n impl SerDes for PublicKey {\n type ByteArray = [u8; PK_LEN];\n\n // Documented in traits.rs\n fn into_bytes(self) -> Self::ByteArray {\n let mut out = [0u8; PK_LEN];\n out[0..(PK_LEN / 2)].copy_from_slice(&self.0.pk_seed);\n out[(PK_LEN / 2)..].copy_from_slice(&self.0.pk_root);\n out\n }\n\n // Documented in traits.rs\n fn try_from_bytes(bytes: &Self::ByteArray) -> Result {\n let mut pk = SlhPublicKey { pk_seed: [0u8; N], pk_root: [0u8; N] };\n pk.pk_seed.copy_from_slice(&bytes[..(PK_LEN / 2)]);\n pk.pk_root.copy_from_slice(&bytes[(PK_LEN / 2)..]);\n Ok(PublicKey(pk))\n }\n }\n\n\n impl SerDes for PrivateKey {\n type ByteArray = [u8; SK_LEN];\n\n // Documented in traits.rs\n fn into_bytes(self) -> Self::ByteArray {\n let mut bytes = [0u8; SK_LEN];\n bytes[0..(SK_LEN / 4)].copy_from_slice(&self.0.sk_seed);\n bytes[(SK_LEN / 4)..(SK_LEN / 2)].copy_from_slice(&self.0.sk_prf);\n bytes[(SK_LEN / 2)..(3 * SK_LEN / 4)].copy_from_slice(&self.0.pk_seed);\n bytes[(3 * SK_LEN / 4)..].copy_from_slice(&self.0.pk_root);\n bytes\n }\n\n // Documented in traits.rs\n fn try_from_bytes(bytes: &Self::ByteArray) -> Result {\n let mut sk = SlhPrivateKey {\n sk_seed: [0u8; N],\n sk_prf: [0u8; N],\n pk_seed: [0u8; N],\n pk_root: [0u8; N],\n };\n sk.sk_seed.copy_from_slice(&bytes[0..(SK_LEN / 4)]);\n sk.sk_prf.copy_from_slice(&bytes[(SK_LEN / 4)..(SK_LEN / 2)]);\n sk.pk_seed.copy_from_slice(&bytes[(SK_LEN / 2)..(3 * SK_LEN / 4)]);\n sk.pk_root.copy_from_slice(&bytes[(3 * SK_LEN / 4)..]);\n let (sk_test, _) = crate::slh::slh_keygen_internal::(&HASHERS, sk.sk_seed, sk.sk_prf, sk.pk_seed);\n if sk_test.pk_root != sk.pk_root { return Err(\"Corrupted key\")}\n Ok(PrivateKey(sk))\n }\n }\n\n\n #[cfg(test)]\n mod tests {\n use super::*;\n use rand_chacha::rand_core::SeedableRng;\n\n // Test keygen, sign, serDes everything, verify true/false\n #[test]\n fn simple_round_trips() {\n let message = [0u8, 1, 2, 3];\n let mut rng = rand_chacha::ChaCha8Rng::seed_from_u64(123);\n let (pk1, sk1) = KG::try_keygen_with_rng(&mut rng).unwrap();\n let pk1_bytes = pk1.into_bytes();\n let sk1_bytes = sk1.into_bytes();\n let pk2 = PublicKey::try_from_bytes(&pk1_bytes).unwrap();\n let sk2 = PrivateKey::try_from_bytes(&sk1_bytes).unwrap();\n\n let sig = sk2.try_sign_with_rng(&mut rng, &message, b\"context\", true).unwrap();\n let result = pk2.verify(&message, &sig, b\"context\");\n assert!(result, \"Signature failed to verify\");\n\n let (pk3, sk3) = KG::keygen_with_seeds(&[0u8; N], &[1u8; N], &[2u8; N]);\n let sig = sk3.try_sign_with_rng(&mut rng, &message, b\"context\", true).unwrap();\n let result = pk3.verify(&message, &sig, b\"context\");\n\n assert!(result, \"Signature failed to verify\");\n let result = pk2.verify(&message, &sig, b\"some other context\");\n assert!(!result, \"Signature should not have verified\");\n for ph in [Ph::SHA256, Ph::SHA512, Ph::SHAKE128, Ph::SHAKE256] {\n let sig = sk2\n .try_hash_sign_with_rng(&mut rng, &message, b\"context\", &ph, true)\n .unwrap();\n let result = pk2.hash_verify(&message, &sig, b\"context\", &ph);\n assert!(result, \"Signature failed to verify\");\n let result = pk2.hash_verify(&message, &sig, b\"some other context\", &ph);\n assert!(!result, \"Signature should not have verified\");\n }\n }\n }\n };\n}\n\n\n/// Functionality for the **SLH-DSA-SHA2-128s** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHA2-128s parameter set is claimed to be in security strength category 1.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_sha2_128s::try_keygen`] function below\n/// to generate both [`slh_dsa_sha2_128s::PublicKey`] and [`slh_dsa_sha2_128s::PrivateKey`] structs. The resulting\n/// [`slh_dsa_sha2_128s::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_sha2_128s::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_sha2_128s\")]\npub mod slh_dsa_sha2_128s {\n use crate::hashers::sha2_cat_1::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 16;\n const H: usize = 63;\n const D: usize = 7;\n const HP: usize = 9;\n const A: usize = 12;\n const K: usize = 14;\n const M: usize = 30;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 32;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 7856;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHAKE-128s** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHAKE-128s parameter set is claimed to be in security strength category 1.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_shake_128s::try_keygen`] function below\n/// to generate both [`slh_dsa_shake_128s::PublicKey`] and [`slh_dsa_shake_128s::PrivateKey`] structs. The resulting\n/// [`slh_dsa_shake_128s::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_shake_128s::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_shake_128s\")]\npub mod slh_dsa_shake_128s {\n use crate::hashers::shake::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 16;\n const H: usize = 63;\n const D: usize = 7;\n const HP: usize = 9;\n const A: usize = 12;\n const K: usize = 14;\n const M: usize = 30;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 32;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 7856;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHA2-128f** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHA2-128f parameter set is claimed to be in security strength category 1.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_sha2_128f::try_keygen`] function below\n/// to generate both [`slh_dsa_sha2_128f::PublicKey`] and [`slh_dsa_sha2_128f::PrivateKey`] structs. The resulting\n/// [`slh_dsa_sha2_128f::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_sha2_128f::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_sha2_128f\")]\npub mod slh_dsa_sha2_128f {\n use crate::hashers::sha2_cat_1::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 16;\n const H: usize = 66;\n const D: usize = 22;\n const HP: usize = 3;\n const A: usize = 6;\n const K: usize = 33;\n const M: usize = 34;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 32;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 17088;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHAKE-128f** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHAKE-128f parameter set is claimed to be in security strength category 1.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_shake_128f::try_keygen`] function below\n/// to generate both [`slh_dsa_shake_128f::PublicKey`] and [`slh_dsa_shake_128f::PrivateKey`] structs. The resulting\n/// [`slh_dsa_shake_128f::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_shake_128f::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_shake_128f\")]\npub mod slh_dsa_shake_128f {\n use crate::hashers::shake::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 16;\n const H: usize = 66;\n const D: usize = 22;\n const HP: usize = 3;\n const A: usize = 6;\n const K: usize = 33;\n const M: usize = 34;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 32;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 17088;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHA2-192s** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHA2-192s parameter set is claimed to be in security strength category 3.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_sha2_192s::try_keygen`] function below\n/// to generate both [`slh_dsa_sha2_192s::PublicKey`] and [`slh_dsa_sha2_192s::PrivateKey`] structs. The resulting\n/// [`slh_dsa_sha2_192s::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_sha2_192s::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_sha2_192s\")]\npub mod slh_dsa_sha2_192s {\n use crate::hashers::sha2_cat_3_5::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 24;\n const H: usize = 63;\n const D: usize = 7;\n const HP: usize = 9;\n const A: usize = 14;\n const K: usize = 17;\n const M: usize = 39;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 48;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 16224;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHAKE-192s** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHAKE-192s parameter set is claimed to be in security strength category 3.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_shake_192s::try_keygen`] function below\n/// to generate both [`slh_dsa_shake_192s::PublicKey`] and [`slh_dsa_shake_192s::PrivateKey`] structs. The resulting\n/// [`slh_dsa_shake_192s::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_shake_192s::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_shake_192s\")]\npub mod slh_dsa_shake_192s {\n use crate::hashers::shake::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 24;\n const H: usize = 63;\n const D: usize = 7;\n const HP: usize = 9;\n const A: usize = 14;\n const K: usize = 17;\n const M: usize = 39;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 48;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 16224;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHA2-192f** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHA2-192f parameter set is claimed to be in security strength category 3.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_sha2_192f::try_keygen`] function below\n/// to generate both [`slh_dsa_sha2_192f::PublicKey`] and [`slh_dsa_sha2_192f::PrivateKey`] structs. The resulting\n/// [`slh_dsa_sha2_192f::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_sha2_192f::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_sha2_192f\")]\npub mod slh_dsa_sha2_192f {\n use crate::hashers::sha2_cat_3_5::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 24;\n const H: usize = 66;\n const D: usize = 22;\n const HP: usize = 3;\n const A: usize = 8;\n const K: usize = 33;\n const M: usize = 42;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 48;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 35664;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHAKE-192f** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHAKE-192f parameter set is claimed to be in security strength category 3.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_shake_192f::try_keygen`] function below\n/// to generate both [`slh_dsa_shake_192f::PublicKey`] and [`slh_dsa_shake_192f::PrivateKey`] structs. The resulting\n/// [`slh_dsa_shake_192f::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_shake_192f::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_shake_192f\")]\npub mod slh_dsa_shake_192f {\n use crate::hashers::shake::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 24;\n const H: usize = 66;\n const D: usize = 22;\n const HP: usize = 3;\n const A: usize = 8;\n const K: usize = 33;\n const M: usize = 42;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 48;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 35664;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHA2-256s** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHA2-256s parameter set is claimed to be in security strength category 5.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_sha2_256s::try_keygen`] function below\n/// to generate both [`slh_dsa_sha2_256s::PublicKey`] and [`slh_dsa_sha2_256s::PrivateKey`] structs. The resulting\n/// [`slh_dsa_sha2_256s::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_sha2_256s::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_sha2_256s\")]\npub mod slh_dsa_sha2_256s {\n use crate::hashers::sha2_cat_3_5::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 32;\n const H: usize = 64;\n const D: usize = 8;\n const HP: usize = 8;\n const A: usize = 14;\n const K: usize = 22;\n const M: usize = 47;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 64;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 29792;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHAKE-256s** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHAKE_256s parameter set is claimed to be in security strength category 5.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_shake_256s::try_keygen`] function below\n/// to generate both [`slh_dsa_shake_256s::PublicKey`] and [`slh_dsa_shake_256s::PrivateKey`] structs. The resulting\n/// [`slh_dsa_shake_256s::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_shake_256s::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_shake_256s\")]\npub mod slh_dsa_shake_256s {\n use crate::hashers::shake::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 32;\n const H: usize = 64;\n const D: usize = 8;\n const HP: usize = 8;\n const A: usize = 14;\n const K: usize = 22;\n const M: usize = 47;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 64;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 29792;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHA2-256f** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHA2-256f parameter set is claimed to be in security strength category 5.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_sha2_256f::try_keygen`] function below\n/// to generate both [`slh_dsa_sha2_256f::PublicKey`] and [`slh_dsa_sha2_256f::PrivateKey`] structs. The resulting\n/// [`slh_dsa_sha2_256f::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_sha2_256f::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_sha2_256f\")]\npub mod slh_dsa_sha2_256f {\n use crate::hashers::sha2_cat_3_5::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 32;\n const H: usize = 68;\n const D: usize = 17;\n const HP: usize = 4;\n const A: usize = 9;\n const K: usize = 35;\n const M: usize = 49;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 64;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 49856;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n\n\n/// Functionality for the **SLH-DSA-SHAKE-256f** security parameter set per FIPS 205 section 11.\n///\n/// This includes specific sizes for the public key, secret key, and signature along with a number of internal\n/// constants. The SLH-DSA-SHAKE-256f parameter set is claimed to be in security strength category 5.\n///\n/// **1)** The basic usage is for an originator to start with the [`slh_dsa_shake_256f::try_keygen`] function below\n/// to generate both [`slh_dsa_shake_256f::PublicKey`] and [`slh_dsa_shake_256f::PrivateKey`] structs. The resulting\n/// [`slh_dsa_shake_256f::PrivateKey`] struct implements the [`traits::Signer`] trait which supplies several functions\n/// to sign byte-array messages, such as [`traits::Signer::try_sign()`], resulting in a Signature byte-array.\n///\n/// **2)** Both the `PrivateKey` and `PublicKey` structs implement the [`traits::SerDes`] trait. The originator\n/// utilizes the [`traits::SerDes::into_bytes()`] functions to serialize the `PublicKey` struct into a byte-array for\n/// distribution. The remote party utilizes the [`traits::SerDes::try_from_bytes()`] function to deserialize the\n/// `PublicKey` byte-array into its struct.\n///\n/// **3)** Finally, the remote party uses the [`traits::Verifier::verify()`] function implemented on the\n/// [`slh_dsa_shake_256f::PublicKey`] struct to verify the message byte-array with the Signature byte-array..\n///\n/// See the top-level [crate] documentation for example code that implements the above flow.\n#[cfg(feature = \"slh_dsa_shake_256f\")]\npub mod slh_dsa_shake_256f {\n use crate::hashers::shake::{f, h, h_msg, prf, prf_msg, t_l};\n use crate::hashers::Hashers;\n\n /// Seed size\n pub const N: usize = 32;\n const H: usize = 68;\n const D: usize = 17;\n const HP: usize = 4;\n const A: usize = 9;\n const K: usize = 35;\n const M: usize = 49;\n const LEN: usize = 2 * N + 3;\n\n /// Length of public key\n pub const PK_LEN: usize = 64;\n\n /// Length of signature byte-array\n pub const SIG_LEN: usize = 49856;\n\n /// Length of private/secret key\n pub const SK_LEN: usize = PK_LEN * 2;\n\n static HASHERS: Hashers =\n Hashers:: { h_msg, prf, prf_msg, f, h, t_l, t_len: t_l };\n\n functionality!();\n}\n"},{"id":2,"name":{"Local":"src/types.rs"},"crate_name":"fips205","contents":"use zeroize::{Zeroize, ZeroizeOnDrop};\n\n\n/// Supported hash functions for `hash_sign()` and `hash_verify()` functions\npub enum Ph {\n /// Use SHA256 as the pre-hash function\n SHA256,\n /// Use SHA512 as the pre-hash function\n SHA512,\n /// Use Shake128 as the pre-hash function\n SHAKE128,\n /// Use Shake256 as the pre-hash function\n SHAKE256,\n}\n\n\n/// Fig 17 on page 34\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct SlhDsaSig<\n const A: usize,\n const D: usize,\n const HP: usize,\n const K: usize,\n const LEN: usize,\n const N: usize,\n> {\n pub(crate) randomness: [u8; N],\n pub(crate) fors_sig: ForsSig,\n pub(crate) ht_sig: HtSig,\n}\n\n\n/// Fig 16 on page 33\n#[derive(Clone, Zeroize, ZeroizeOnDrop)]\npub(crate) struct SlhPublicKey {\n pub(crate) pk_seed: [u8; N],\n pub(crate) pk_root: [u8; N],\n}\n\n\n/// Fig 15 on page 33\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct SlhPrivateKey {\n pub(crate) sk_seed: [u8; N],\n pub(crate) sk_prf: [u8; N],\n pub(crate) pk_seed: [u8; N],\n pub(crate) pk_root: [u8; N],\n}\n\n\n/// Fig 14 on page 29\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct ForsSig {\n pub(crate) private_key_value: [[u8; N]; K],\n pub(crate) auth: [Auth; K],\n}\n\n\n#[derive(Clone, Zeroize, ZeroizeOnDrop)]\npub(crate) struct ForsPk {\n pub(crate) key: [u8; N],\n}\n\n\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct Auth {\n pub(crate) tree: [[u8; N]; A],\n}\n\n\n/// Fig 13 on page 26\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct HtSig {\n pub(crate) xmss_sigs: [XmssSig; D],\n}\n\n\n/// Fig 10 on page 19\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct WotsSig {\n pub(crate) data: [[u8; N]; LEN],\n}\n\n\n#[derive(Clone, Zeroize, ZeroizeOnDrop)]\npub(crate) struct WotsPk(pub(crate) [u8; N]);\n\n\n/// Fig 11 on page 22\n#[derive(Clone, Debug, Zeroize, ZeroizeOnDrop)]\npub(crate) struct XmssSig {\n pub(crate) sig_wots: WotsSig,\n pub(crate) auth: [[u8; N]; HP],\n}\n\n\nimpl XmssSig {\n pub(crate) fn get_wots_sig(&self) -> &WotsSig { &self.sig_wots }\n\n pub(crate) fn get_xmss_auth(&self) -> &[[u8; N]; HP] { &self.auth }\n}\n\n\npub(crate) const WOTS_HASH: u32 = 0;\npub(crate) const WOTS_PK: u32 = 1;\npub(crate) const TREE: u32 = 2;\npub(crate) const FORS_TREE: u32 = 3;\npub(crate) const FORS_ROOTS: u32 = 4;\npub(crate) const WOTS_PRF: u32 = 5;\npub(crate) const FORS_PRF: u32 = 6;\n\n\n/// Straddling the line between struct, enum and union...\n#[derive(Clone, Default, Zeroize, ZeroizeOnDrop)]\n#[repr(align(32))] // TODO: check alignment size perf/requirements\npub(crate) struct Adrs {\n pub(crate) f0: [u8; 4],\n // layer address\n pub(crate) f1: [u8; 4],\n // tree address\n pub(crate) f2: [u8; 4],\n // tree address\n pub(crate) f3: [u8; 4],\n // tree address\n pub(crate) f4: [u8; 4],\n // type\n pub(crate) f5: [u8; 4],\n // key pair address OR padding\n pub(crate) f6: [u8; 4],\n // chain address OR padding OR tree height\n pub(crate) f7: [u8; 4], // hash address OR padding OR tree index OR hash address = 0\n}\n"},{"id":3,"name":{"Local":"/rustc/library/core/src/ops/range.rs"},"crate_name":"core","contents":null},{"id":4,"name":{"Local":"/rustc/library/core/src/ops/mod.rs"},"crate_name":"core","contents":null},{"id":5,"name":{"Local":"/rustc/library/core/src/lib.rs"},"crate_name":"core","contents":null},{"id":6,"name":{"Local":"/rustc/library/core/src/marker.rs"},"crate_name":"core","contents":null},{"id":7,"name":{"Local":"/rustc/library/core/src/array/mod.rs"},"crate_name":"core","contents":null},{"id":8,"name":{"Local":"/rustc/library/core/src/ops/index.rs"},"crate_name":"core","contents":null},{"id":9,"name":{"Local":"/rustc/library/core/src/slice/index.rs"},"crate_name":"core","contents":null},{"id":10,"name":{"Local":"/rustc/library/core/src/slice/mod.rs"},"crate_name":"core","contents":null},{"id":11,"name":{"Local":"src/helpers.rs"},"crate_name":"fips205","contents":"use crate::types::{Adrs, Auth, ForsSig, HtSig, SlhDsaSig, WotsSig, XmssSig};\n\n\n/// Algorithm 2: `toInt(X, n)` on page 15.\n/// Converts a byte string to an integer.\n///\n/// Input: n-byte string `X`, string length `n`.
\n/// Output: Integer value of `X`.\npub(crate) fn to_int(x: &[u8], n: u32) -> u64 {\n debug_assert_eq!(x.len(), n as usize);\n debug_assert!(n <= 8);\n\n // 1: total ← 0\n let mut total = 0;\n\n // 2: for i from 0 to n − 1 do\n // Aeneas-compat: index loop instead of iter().take() (the Take iterator\n // adapter is untranslatable-clean; x.len() == n by the assert above, so\n // 0..n indexes exactly the same elements in the same order — identical).\n for i in 0..(n as usize) {\n //\n // 3: total ← 256 · total + X[i]\n total = (total << 8) + u64::from(x[i]);\n\n // 4: end for\n }\n\n // 5: return total\n total\n}\n\n\n/// Algorithm 3: `toByte(x, n)` on page 15.\n/// Converts an integer to a byte string.\n///\n/// Input: Integer `x`, string length `n`.
\n/// Output: Byte string of length `n` containing binary representation of `x` in big-endian byte-order.\npub(crate) fn to_byte(x: u32, n: u32) -> [u8; ((crate::LEN2 * crate::LGW + 7) / 8) as usize] {\n let mut s = [0u8; ((crate::LEN2 * crate::LGW + 7) / 8) as usize]; // Size fixed across all profiles (2)\n debug_assert_eq!(n, ((crate::LEN2 * crate::LGW + 7) / 8)); // just in case life changes\n debug_assert_eq!(n, 2); // optimize: this resolves into a two-byte (be) write!\n\n // 1: total ← x\n let mut total = x;\n\n // 2: for i from 0 to n − 1 do\n for i in 0..n {\n //\n // 3: S[n − 1 − i] ← total mod 256 ▷ Least significant 8 bits of total\n s[(n - 1 - i) as usize] = total.to_le_bytes()[0];\n\n // 4: total ← total ≫ 8\n total >>= 8;\n\n // 5: end for\n }\n\n // 6: return S\n s\n}\n\n\n/// Algorithm 4: `base_2^b(X, b, out_len)` on page 16.\n/// Computes the base 2^b representation of X.\n///\n/// Input: Byte string `X` of length at least `ceil(out_len·b/8)`, integer `b`, output length `out_len`.
\n/// Output: Array of `out_len` integers in the range `[0, . . . , 2^b − 1]`.\npub(crate) fn base_2b(x: &[u8], b: u32, out_len: u32, baseb: &mut [u32]) {\n debug_assert!(x.len() >= ((out_len * b + 7) / 8) as usize);\n debug_assert!(b < 16);\n debug_assert_eq!(out_len as usize, baseb.len());\n\n // 1: in ← 0\n let mut inn = 0;\n\n // 2: bits ← 0\n let mut bits = 0;\n\n // 3: total ← 0\n let mut total = 0;\n\n // 4: for out from 0 to out_len − 1 do\n // Aeneas-compat: index loop instead of iter_mut() (the IterMut adapter with\n // its next_back write-back closure is untranslatable-clean; out_len ==\n // baseb.len() by the assert above, so 0..out_len writes exactly the same\n // slots in the same order with the same values — identical).\n for out in 0..(out_len as usize) {\n //\n // 5: while bits < b do\n while bits < b {\n //\n // 6: total ← (total ≪ 8) + X[in]\n total = (total << 8) + u32::from(x[inn]);\n\n // 7: in ← in + 1\n inn += 1;\n\n // 8: bits ← bits + 8\n bits += 8;\n\n // 9: end while\n }\n\n // 10: bits ← bits − b\n bits -= b;\n\n // 11: baseb[out] ← (total ≫ bits) mod 2^b\n baseb[out] = (total >> bits) & (u32::MAX >> (32 - b));\n\n // 12: end for\n }\n\n // 13: return baseb (mutable parameter)\n}\n\n\nimpl<\n const A: usize,\n const D: usize,\n const HP: usize,\n const K: usize,\n const LEN: usize,\n const N: usize,\n > SlhDsaSig\n{\n pub(crate) fn serialize(self) -> [u8; SIG_LEN] {\n let mut out = [0u8; SIG_LEN];\n debug_assert_eq!(\n out.len(),\n N + // randomness\n N * K + K * A * N + // ForsSig\n D * (HP * N + LEN * N)\n );\n out[0..N].copy_from_slice(&self.randomness);\n let mut start = N;\n for k in 0..K {\n out[start..(start + N)].copy_from_slice(&self.fors_sig.private_key_value[k]);\n start += N;\n for a in 0..A {\n out[start..(start + N)].copy_from_slice(&self.fors_sig.auth[k].tree[a]);\n start += N;\n }\n }\n for d in 0..D {\n for len in 0..LEN {\n out[start..(start + N)]\n .copy_from_slice(&self.ht_sig.xmss_sigs[d].sig_wots.data[len]);\n start += N;\n }\n for hp in 0..HP {\n out[start..(start + N)].copy_from_slice(&self.ht_sig.xmss_sigs[d].auth[hp]);\n start += N;\n }\n }\n debug_assert_eq!(start, out.len());\n out\n }\n\n pub(crate) fn deserialize(bytes: &[u8]) -> Self {\n debug_assert_eq!(\n bytes.len(),\n N + // randomness\n N * K + K * A * N + // ForsSig\n D * (HP * N + LEN * N)\n );\n let mut output = SlhDsaSig {\n randomness: [0u8; N],\n fors_sig: ForsSig {\n private_key_value: [[0u8; N]; K],\n auth: core::array::from_fn(|_| Auth { tree: [[0u8; N]; A] }),\n },\n ht_sig: HtSig {\n xmss_sigs: core::array::from_fn(|_| XmssSig {\n sig_wots: WotsSig { data: [[0u8; N]; LEN] },\n auth: [[0u8; N]; HP],\n }),\n },\n };\n output.randomness.copy_from_slice(&bytes[0..N]);\n let mut start = N;\n for k in 0..K {\n output.fors_sig.private_key_value[k].copy_from_slice(&bytes[start..(start + N)]);\n start += N;\n for a in 0..A {\n output.fors_sig.auth[k].tree[a].copy_from_slice(&bytes[start..(start + N)]);\n start += N;\n }\n }\n for d in 0..D {\n for len in 0..LEN {\n output.ht_sig.xmss_sigs[d].sig_wots.data[len]\n .copy_from_slice(&bytes[start..(start + N)]);\n start += N;\n }\n for hp in 0..HP {\n output.ht_sig.xmss_sigs[d].auth[hp].copy_from_slice(&bytes[start..(start + N)]);\n start += N;\n }\n }\n debug_assert_eq!(start, bytes.len());\n output\n }\n}\n\n\nimpl Adrs {\n pub(crate) fn set_layer_address(&mut self, la: u32) { self.f0 = la.to_be_bytes() }\n\n pub(crate) fn get_key_pair_address(&self) -> u32 { u32::from_be_bytes(self.f5) }\n\n pub(crate) fn set_key_pair_address(&mut self, kp_addr: u32) { self.f5 = kp_addr.to_be_bytes(); }\n\n pub(crate) fn set_chain_address(&mut self, i: u32) { self.f6 = i.to_be_bytes(); }\n\n pub(crate) fn set_type_and_clear(&mut self, type_t: u32) {\n self.f4 = type_t.to_be_bytes();\n self.f5 = 0u32.to_be_bytes();\n self.f6 = 0u32.to_be_bytes();\n self.f7 = 0u32.to_be_bytes();\n }\n\n pub(crate) fn set_tree_address(&mut self, t: u64) {\n let bytes = t.to_be_bytes();\n self.f2.copy_from_slice(&bytes[..4]); // = ((t >> 32) as u32).to_be_bytes();\n self.f3.copy_from_slice(&bytes[4..]); // = (t as u32).to_be_bytes();\n }\n\n pub(crate) fn set_hash_address(&mut self, addr: u32) { self.f7 = addr.to_be_bytes() }\n\n pub(crate) fn set_tree_height(&mut self, z: u32) { self.f6 = z.to_be_bytes() }\n\n pub(crate) fn get_tree_index(&mut self) -> u32 { u32::from_be_bytes(self.f7) }\n\n pub(crate) fn set_tree_index(&mut self, i: u32) { self.f7 = i.to_be_bytes() }\n\n #[cfg(any(\n feature = \"slh_dsa_shake_128f\",\n feature = \"slh_dsa_shake_128s\",\n feature = \"slh_dsa_shake_192f\",\n feature = \"slh_dsa_shake_192s\",\n feature = \"slh_dsa_shake_256f\",\n feature = \"slh_dsa_shake_256s\"\n ))]\n pub(crate) fn to_32_bytes(&self) -> [u8; 32] {\n let mut ret = [0u8; 32];\n let mut start = 0;\n for sl in [\n self.f0, self.f1, self.f2, self.f3, self.f4, self.f5, self.f6, self.f7,\n ] {\n ret[start..start + 4].copy_from_slice(&sl);\n start += 4;\n }\n ret\n }\n\n #[cfg(any(\n feature = \"slh_dsa_sha2_128f\",\n feature = \"slh_dsa_sha2_128s\",\n feature = \"slh_dsa_sha2_192f\",\n feature = \"slh_dsa_sha2_192s\",\n feature = \"slh_dsa_sha2_256f\",\n feature = \"slh_dsa_sha2_256s\"\n ))]\n pub(crate) fn to_22_bytes(&self) -> [u8; 22] {\n let mut ret = [0u8; 22];\n ret[0] = self.f0[3];\n ret[1..5].copy_from_slice(&self.f2);\n ret[5..9].copy_from_slice(&self.f3);\n ret[9] = self.f4[3];\n ret[10..14].copy_from_slice(&self.f5);\n ret[14..18].copy_from_slice(&self.f6);\n ret[18..22].copy_from_slice(&self.f7);\n ret\n }\n}\n"},{"id":12,"name":{"Local":"/rustc/library/core/src/num/uint_macros.rs"},"crate_name":"core","contents":null},{"id":13,"name":{"Local":"/rustc/library/core/src/num/mod.rs"},"crate_name":"core","contents":null},{"id":14,"name":{"Local":"/rustc/library/core/src/default.rs"},"crate_name":"core","contents":null},{"id":15,"name":{"Local":"/rustc/library/core/src/option.rs"},"crate_name":"core","contents":null},{"id":16,"name":{"Local":"/rustc/library/core/src/macros/mod.rs"},"crate_name":"core","contents":null},{"id":17,"name":{"Local":"/rustc/library/core/src/panicking.rs"},"crate_name":"core","contents":null},{"id":18,"name":{"Local":"/rustc/library/core/src/fmt/mod.rs"},"crate_name":"core","contents":null},{"id":19,"name":{"Local":"/rustc/library/core/src/iter/traits/collect.rs"},"crate_name":"core","contents":null},{"id":20,"name":{"Local":"/rustc/library/core/src/iter/traits/mod.rs"},"crate_name":"core","contents":null},{"id":21,"name":{"Local":"/rustc/library/core/src/iter/mod.rs"},"crate_name":"core","contents":null},{"id":22,"name":{"Local":"/rustc/library/core/src/iter/traits/iterator.rs"},"crate_name":"core","contents":null},{"id":23,"name":{"Local":"/rustc/library/core/src/iter/range.rs"},"crate_name":"core","contents":null},{"id":24,"name":{"Local":"/rustc/library/core/src/convert/num.rs"},"crate_name":"core","contents":null},{"id":25,"name":{"Local":"/rustc/library/core/src/convert/mod.rs"},"crate_name":"core","contents":null},{"id":26,"name":{"Local":"/rustc/library/core/src/array/equality.rs"},"crate_name":"core","contents":null},{"id":27,"name":{"Local":"/rustc/library/core/src/cmp.rs"},"crate_name":"core","contents":null},{"id":28,"name":{"Local":"/rustc/library/core/src/ptr/mod.rs"},"crate_name":"core","contents":null},{"id":29,"name":{"Local":"/rustc/library/core/src/result.rs"},"crate_name":"core","contents":null},{"id":30,"name":{"Local":"/rustc/library/core/src/array/iter.rs"},"crate_name":"core","contents":null},{"id":31,"name":{"Local":"/rustc/library/core/src/num/nonzero.rs"},"crate_name":"core","contents":null},{"id":32,"name":{"Local":"/rustc/library/core/src/iter/adapters/step_by.rs"},"crate_name":"core","contents":null},{"id":33,"name":{"Local":"/rustc/library/core/src/iter/adapters/mod.rs"},"crate_name":"core","contents":null},{"id":34,"name":{"Local":"/rustc/library/core/src/iter/adapters/chain.rs"},"crate_name":"core","contents":null},{"id":35,"name":{"Local":"/rustc/library/core/src/iter/adapters/zip.rs"},"crate_name":"core","contents":null},{"id":36,"name":{"Local":"/rustc/library/core/src/clone.rs"},"crate_name":"core","contents":null},{"id":37,"name":{"Local":"/rustc/library/core/src/iter/adapters/intersperse.rs"},"crate_name":"core","contents":null},{"id":38,"name":{"Local":"/rustc/library/core/src/ops/function.rs"},"crate_name":"core","contents":null},{"id":39,"name":{"Local":"/rustc/library/core/src/iter/adapters/map.rs"},"crate_name":"core","contents":null},{"id":40,"name":{"Local":"/rustc/library/core/src/iter/adapters/filter.rs"},"crate_name":"core","contents":null},{"id":41,"name":{"Local":"/rustc/library/core/src/iter/adapters/filter_map.rs"},"crate_name":"core","contents":null},{"id":42,"name":{"Local":"/rustc/library/core/src/iter/adapters/enumerate.rs"},"crate_name":"core","contents":null},{"id":43,"name":{"Local":"/rustc/library/core/src/iter/adapters/peekable.rs"},"crate_name":"core","contents":null},{"id":44,"name":{"Local":"/rustc/library/core/src/iter/adapters/skip_while.rs"},"crate_name":"core","contents":null},{"id":45,"name":{"Local":"/rustc/library/core/src/iter/adapters/take_while.rs"},"crate_name":"core","contents":null},{"id":46,"name":{"Local":"/rustc/library/core/src/iter/adapters/map_while.rs"},"crate_name":"core","contents":null},{"id":47,"name":{"Local":"/rustc/library/core/src/iter/adapters/skip.rs"},"crate_name":"core","contents":null},{"id":48,"name":{"Local":"/rustc/library/core/src/iter/adapters/take.rs"},"crate_name":"core","contents":null},{"id":49,"name":{"Local":"/rustc/library/core/src/iter/adapters/scan.rs"},"crate_name":"core","contents":null},{"id":50,"name":{"Local":"/rustc/library/core/src/iter/adapters/flatten.rs"},"crate_name":"core","contents":null},{"id":51,"name":{"Local":"/rustc/library/core/src/iter/adapters/map_windows.rs"},"crate_name":"core","contents":null},{"id":52,"name":{"Local":"/rustc/library/core/src/iter/adapters/fuse.rs"},"crate_name":"core","contents":null},{"id":53,"name":{"Local":"/rustc/library/core/src/iter/adapters/inspect.rs"},"crate_name":"core","contents":null},{"id":54,"name":{"Local":"/rustc/library/core/src/ops/try_trait.rs"},"crate_name":"core","contents":null},{"id":55,"name":{"Local":"/rustc/library/core/src/iter/traits/double_ended.rs"},"crate_name":"core","contents":null},{"id":56,"name":{"Local":"/rustc/library/core/src/iter/traits/exact_size.rs"},"crate_name":"core","contents":null},{"id":57,"name":{"Local":"/rustc/library/core/src/iter/adapters/rev.rs"},"crate_name":"core","contents":null},{"id":58,"name":{"Local":"/rustc/library/core/src/iter/adapters/copied.rs"},"crate_name":"core","contents":null},{"id":59,"name":{"Local":"/rustc/library/core/src/iter/adapters/cloned.rs"},"crate_name":"core","contents":null},{"id":60,"name":{"Local":"/rustc/library/core/src/iter/adapters/cycle.rs"},"crate_name":"core","contents":null},{"id":61,"name":{"Local":"/rustc/library/core/src/iter/adapters/array_chunks.rs"},"crate_name":"core","contents":null},{"id":62,"name":{"Local":"/rustc/library/core/src/iter/traits/accum.rs"},"crate_name":"core","contents":null},{"id":63,"name":{"Local":"/rustc/library/core/src/ops/drop.rs"},"crate_name":"core","contents":null},{"id":64,"name":{"Local":"/rustc/library/core/src/pin.rs"},"crate_name":"core","contents":null},{"id":65,"name":{"Local":"/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/zeroize-1.9.0/src/lib.rs"},"crate_name":"zeroize","contents":null},{"id":66,"name":{"Local":"/rustc/library/core/src/num/niche_types.rs"},"crate_name":"core","contents":null},{"id":67,"name":{"Local":"/rustc/library/core/src/ops/control_flow.rs"},"crate_name":"core","contents":null}],"item_names":[{"key":{"Fun":0},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["slh_verify_128s",0]}]},{"key":{"Type":0},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["SlhDsaSig",0]}]},{"key":{"Type":1},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["SlhPublicKey",0]}]},{"key":{"Fun":1},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["slh_verify_internal_free",0]}]},{"key":{"Type":2},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsSig",0]}]},{"key":{"Type":3},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["HtSig",0]}]},{"key":{"Type":4},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Adrs",0]}]},{"key":{"Type":5},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["Range",0]}]},{"key":{"Type":6},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsPk",0]}]},{"key":{"TraitImpl":0},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":0}}]},{"key":{"Fun":2},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":0}},{"Ident":["default",0]}]},{"key":{"Fun":3},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["h_msg",0]}]},{"key":{"TraitDecl":0},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]}]},{"key":{"TraitImpl":1},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Adrs",0]},{"Impl":{"Trait":1}}]},{"key":{"Fun":4},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]},{"Ident":["drop_glue",0]}]},{"key":{"TraitImpl":2},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":2}}]},{"key":{"Fun":5},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":2}},{"Ident":["index",0]}]},{"key":{"TraitDecl":1},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]}]},{"key":{"TraitImpl":3},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":3}}]},{"key":{"TraitDecl":2},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]}]},{"key":{"TraitImpl":4},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}}]},{"key":{"Fun":6},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_int",0]}]},{"key":{"Global":0},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[647,{"Literal":{"UInt":"U64"}}]},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}]},{"key":{"Fun":7},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[508,{"Adt":{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["set_tree_address",0]}]},{"key":{"Fun":8},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_type_and_clear",0]}]},{"key":{"Global":1},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_TREE",0]}]},{"key":{"Fun":9},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_key_pair_address",0]}]},{"key":{"Fun":10},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["fors_pk_from_sig_free",0]}]},{"key":{"Fun":11},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["ht_verify_free",0]}]},{"key":{"TraitImpl":5},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsPk",0]},{"Impl":{"Trait":5}}]},{"key":{"Type":7},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Auth",0]}]},{"key":{"Type":8},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["XmssSig",0]}]},{"key":{"TraitDecl":3},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]}]},{"key":{"TraitImpl":6},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":6}}]},{"key":{"Fun":12},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":6}},{"Ident":["default",0]}]},{"key":{"TraitImpl":7},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Impl":{"Trait":7}}]},{"key":{"Fun":13},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Adrs",0]},{"Impl":{"Trait":1}},{"Ident":["drop_glue",0]}]},{"key":{"Global":2},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":2}},{"Ident":["{vtable}",0]}]},{"key":{"Type":9},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":14},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["index",0]}]},{"key":{"Global":3},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":3}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":15},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":3}},{"Ident":["index",0]}]},{"key":{"TraitDecl":4},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]}]},{"key":{"Type":10},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":16},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get",0]}]},{"key":{"Type":11},"value":[{"Ident":["core",0]},{"Ident":["option",0]},{"Ident":["Option",0]}]},{"key":{"Fun":17},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_mut",0]}]},{"key":{"Fun":18},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":19},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":20},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index",0]}]},{"key":{"Fun":21},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index_mut",0]}]},{"key":{"Global":4},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":8},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":8}}]},{"key":{"Fun":22},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get",0]}]},{"key":{"Fun":23},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get_mut",0]}]},{"key":{"Fun":24},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":25},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":26},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["index",0]}]},{"key":{"Fun":27},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["index_mut",0]}]},{"key":{"Type":12},"value":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["AssertKind",0]}]},{"key":{"Type":13},"value":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Arguments",0]}]},{"key":{"Fun":28},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[1356,{"Slice":{"HashConsedValue":[1277,{"TypeVar":{"Bound":[0,0]}}]}}]},"kind":"InherentImplBlock"}}},{"Ident":["len",0]}]},{"key":{"TraitImpl":9},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":9}}]},{"key":{"Fun":29},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":9}},{"Ident":["into_iter",0]}]},{"key":{"TraitDecl":5},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]}]},{"key":{"TraitImpl":10},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}}]},{"key":{"TraitDecl":6},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]}]},{"key":{"TraitImpl":11},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}}]},{"key":{"Fun":30},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["next",0]}]},{"key":{"TraitImpl":12},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":12}}]},{"key":{"Fun":31},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":12}},{"Ident":["from",0]}]},{"key":{"Fun":32},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":647},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}]},{"key":{"Type":14},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeTo",0]}]},{"key":{"Type":15},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeFrom",0]}]},{"key":{"Fun":33},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":647},"kind":"InherentImplBlock"}}},{"Ident":["to_be_bytes",0]}]},{"key":{"TraitImpl":13},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}}]},{"key":{"Fun":34},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1356},"kind":"InherentImplBlock"}}},{"Ident":["copy_from_slice",0]}]},{"key":{"TraitDecl":7},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Copy",0]}]},{"key":{"TraitImpl":14},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":14}}]},{"key":{"TraitImpl":15},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}}]},{"key":{"Fun":35},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[490,{"Literal":{"UInt":"U32"}}]},"kind":"InherentImplBlock"}}},{"Ident":["to_be_bytes",0]}]},{"key":{"Fun":36},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_TREE",0]}]},{"key":{"TraitImpl":16},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":16}}]},{"key":{"Fun":37},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":16}},{"Ident":["clone",0]}]},{"key":{"Fun":38},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["base_2b",0]}]},{"key":{"TraitImpl":17},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}}]},{"key":{"Fun":39},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_tree_height",0]}]},{"key":{"Global":5},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_ROOTS",0]}]},{"key":{"Fun":40},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["get_key_pair_address",0]}]},{"key":{"Fun":41},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["t_len",0]}]},{"key":{"Fun":42},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_tree_index",0]}]},{"key":{"Fun":43},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["f",0]}]},{"key":{"TraitImpl":18},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":18}}]},{"key":{"Fun":44},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":18}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":19},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Auth",0]},{"Impl":{"Trait":19}}]},{"key":{"Fun":45},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["get_tree_index",0]}]},{"key":{"Fun":46},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["h",0]}]},{"key":{"TraitImpl":20},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":20}}]},{"key":{"Fun":47},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":20}},{"Ident":["clone",0]}]},{"key":{"Fun":48},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["xmss_pk_from_sig_free",0]}]},{"key":{"TraitImpl":21},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["XmssSig",0]},{"Impl":{"Trait":21}}]},{"key":{"TraitImpl":22},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["equality",0]},{"Impl":{"Trait":22}}]},{"key":{"Fun":49},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["equality",0]},{"Impl":{"Trait":22}},{"Ident":["eq",0]}]},{"key":{"TraitDecl":8},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]}]},{"key":{"TraitImpl":23},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":23}}]},{"key":{"Fun":50},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_layer_address",0]}]},{"key":{"Fun":51},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsPk",0]},{"Impl":{"Trait":5}},{"Ident":["drop_glue",0]}]},{"key":{"Type":16},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsSig",0]}]},{"key":{"Fun":52},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]},{"Ident":["default",0]}]},{"key":{"Fun":53},"value":[{"Ident":["core",0]},{"Ident":["default",0]},{"Impl":{"Trait":7}},{"Ident":["default",0]}]},{"key":{"TraitImpl":24},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":24}}]},{"key":{"Fun":54},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":24}},{"Ident":["drop",0]}]},{"key":{"Type":17},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]},{"Ident":["{vtable}",0]}]},{"key":{"Global":6},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":8}},{"Ident":["{vtable}",0]}]},{"key":{"TraitDecl":9},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]}]},{"key":{"Global":7},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":9}},{"Ident":["{vtable}",0]}]},{"key":{"Type":18},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":55},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next",0]}]},{"key":{"Fun":56},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next_chunk",0]}]},{"key":{"Type":19},"value":[{"Ident":["core",0]},{"Ident":["result",0]},{"Ident":["Result",0]}]},{"key":{"Type":20},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["iter",0]},{"Ident":["IntoIter",0]}]},{"key":{"Fun":57},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["size_hint",0]}]},{"key":{"Fun":58},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["count",0]}]},{"key":{"Fun":59},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["last",0]}]},{"key":{"Fun":60},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["advance_by",0]}]},{"key":{"Type":21},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["NonZero",0]}]},{"key":{"TraitDecl":10},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["ZeroablePrimitive",0]}]},{"key":{"TraitImpl":25},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":25}}]},{"key":{"Fun":61},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["nth",0]}]},{"key":{"Fun":62},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["step_by",0]}]},{"key":{"Type":22},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["step_by",0]},{"Ident":["StepBy",0]}]},{"key":{"Fun":63},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["chain",0]}]},{"key":{"Type":23},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["chain",0]},{"Ident":["Chain",0]}]},{"key":{"Fun":64},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["zip",0]}]},{"key":{"Type":24},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["Zip",0]}]},{"key":{"Fun":65},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["intersperse",0]}]},{"key":{"TraitDecl":11},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]}]},{"key":{"Type":25},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["Intersperse",0]}]},{"key":{"Fun":66},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["intersperse_with",0]}]},{"key":{"TraitDecl":12},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]}]},{"key":{"TraitDecl":13},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]}]},{"key":{"Type":26},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["IntersperseWith",0]}]},{"key":{"Fun":67},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map",0]}]},{"key":{"Type":27},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map",0]},{"Ident":["Map",0]}]},{"key":{"Fun":68},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["for_each",0]}]},{"key":{"Fun":69},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["filter",0]}]},{"key":{"Type":28},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter",0]},{"Ident":["Filter",0]}]},{"key":{"Fun":70},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["filter_map",0]}]},{"key":{"Type":29},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter_map",0]},{"Ident":["FilterMap",0]}]},{"key":{"Fun":71},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["enumerate",0]}]},{"key":{"Type":30},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["enumerate",0]},{"Ident":["Enumerate",0]}]},{"key":{"Fun":72},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["peekable",0]}]},{"key":{"Type":31},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["peekable",0]},{"Ident":["Peekable",0]}]},{"key":{"Fun":73},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["skip_while",0]}]},{"key":{"Type":32},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip_while",0]},{"Ident":["SkipWhile",0]}]},{"key":{"Fun":74},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["take_while",0]}]},{"key":{"Type":33},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take_while",0]},{"Ident":["TakeWhile",0]}]},{"key":{"Fun":75},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map_while",0]}]},{"key":{"Type":34},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_while",0]},{"Ident":["MapWhile",0]}]},{"key":{"Fun":76},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["skip",0]}]},{"key":{"Type":35},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip",0]},{"Ident":["Skip",0]}]},{"key":{"Fun":77},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["take",0]}]},{"key":{"Type":36},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take",0]},{"Ident":["Take",0]}]},{"key":{"Fun":78},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["scan",0]}]},{"key":{"Type":37},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["scan",0]},{"Ident":["Scan",0]}]},{"key":{"Fun":79},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["flat_map",0]}]},{"key":{"Type":38},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["FlatMap",0]}]},{"key":{"Fun":80},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["flatten",0]}]},{"key":{"Type":39},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["Flatten",0]}]},{"key":{"Fun":81},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["map_windows",0]}]},{"key":{"Type":40},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_windows",0]},{"Ident":["MapWindows",0]}]},{"key":{"Fun":82},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["fuse",0]}]},{"key":{"Type":41},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["fuse",0]},{"Ident":["Fuse",0]}]},{"key":{"Fun":83},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["inspect",0]}]},{"key":{"Type":42},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["inspect",0]},{"Ident":["Inspect",0]}]},{"key":{"Fun":84},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["by_ref",0]}]},{"key":{"Fun":85},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["collect",0]}]},{"key":{"TraitDecl":14},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]}]},{"key":{"Fun":86},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_collect",0]}]},{"key":{"TraitDecl":15},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]}]},{"key":{"TraitDecl":16},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Residual",0]}]},{"key":{"Fun":87},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["collect_into",0]}]},{"key":{"TraitDecl":17},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]}]},{"key":{"Fun":88},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partition",0]}]},{"key":{"Fun":89},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partition_in_place",0]}]},{"key":{"TraitDecl":18},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]}]},{"key":{"Fun":90},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_partitioned",0]}]},{"key":{"Fun":91},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_fold",0]}]},{"key":{"Fun":92},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_for_each",0]}]},{"key":{"Fun":93},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["fold",0]}]},{"key":{"Fun":94},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["reduce",0]}]},{"key":{"Fun":95},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_reduce",0]}]},{"key":{"Fun":96},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["all",0]}]},{"key":{"Fun":97},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["any",0]}]},{"key":{"Fun":98},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["find",0]}]},{"key":{"Fun":99},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["find_map",0]}]},{"key":{"Fun":100},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["try_find",0]}]},{"key":{"Fun":101},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["position",0]}]},{"key":{"Fun":102},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["rposition",0]}]},{"key":{"TraitDecl":19},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]}]},{"key":{"Fun":103},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max",0]}]},{"key":{"TraitDecl":20},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]}]},{"key":{"Fun":104},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min",0]}]},{"key":{"Fun":105},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max_by_key",0]}]},{"key":{"Fun":106},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["max_by",0]}]},{"key":{"Type":43},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ordering",0]}]},{"key":{"Fun":107},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min_by_key",0]}]},{"key":{"Fun":108},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["min_by",0]}]},{"key":{"Fun":109},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["rev",0]}]},{"key":{"Type":44},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["rev",0]},{"Ident":["Rev",0]}]},{"key":{"Fun":110},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["unzip",0]}]},{"key":{"Fun":111},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["copied",0]}]},{"key":{"Type":45},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["copied",0]},{"Ident":["Copied",0]}]},{"key":{"Fun":112},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cloned",0]}]},{"key":{"Type":46},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cloned",0]},{"Ident":["Cloned",0]}]},{"key":{"Fun":113},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cycle",0]}]},{"key":{"Type":47},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cycle",0]},{"Ident":["Cycle",0]}]},{"key":{"Fun":114},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["array_chunks",0]}]},{"key":{"Type":48},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["array_chunks",0]},{"Ident":["ArrayChunks",0]}]},{"key":{"Fun":115},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["sum",0]}]},{"key":{"TraitDecl":21},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]}]},{"key":{"Fun":116},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["product",0]}]},{"key":{"TraitDecl":22},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]}]},{"key":{"Fun":117},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cmp",0]}]},{"key":{"Fun":118},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["cmp_by",0]}]},{"key":{"Fun":119},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partial_cmp",0]}]},{"key":{"TraitDecl":23},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]}]},{"key":{"Fun":120},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["partial_cmp_by",0]}]},{"key":{"Fun":121},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["eq",0]}]},{"key":{"Fun":122},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["eq_by",0]}]},{"key":{"Fun":123},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["ne",0]}]},{"key":{"Fun":124},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["lt",0]}]},{"key":{"Fun":125},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["le",0]}]},{"key":{"Fun":126},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["gt",0]}]},{"key":{"Fun":127},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["ge",0]}]},{"key":{"Fun":128},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted",0]}]},{"key":{"Fun":129},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted_by",0]}]},{"key":{"Fun":130},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["is_sorted_by_key",0]}]},{"key":{"Fun":131},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"TraitDecl":24},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]}]},{"key":{"Global":8},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":132},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["size_hint",0]}]},{"key":{"Fun":133},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["count",0]}]},{"key":{"Fun":134},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["last",0]}]},{"key":{"Fun":135},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["advance_by",0]}]},{"key":{"Fun":136},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["nth",0]}]},{"key":{"Fun":137},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["max",0]}]},{"key":{"Fun":138},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["min",0]}]},{"key":{"Fun":139},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["is_sorted",0]}]},{"key":{"Fun":140},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"Fun":141},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["steps_between",0]}]},{"key":{"Fun":142},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_checked",0]}]},{"key":{"Fun":143},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward",0]}]},{"key":{"Fun":144},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":145},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_checked",0]}]},{"key":{"Fun":146},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward",0]}]},{"key":{"Fun":147},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_unchecked",0]}]},{"key":{"TraitImpl":26},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":26}}]},{"key":{"TraitImpl":27},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}}]},{"key":{"Fun":148},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["steps_between",0]}]},{"key":{"Fun":149},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":150},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["forward",0]}]},{"key":{"Fun":151},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":152},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":153},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["backward",0]}]},{"key":{"Fun":154},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["backward_unchecked",0]}]},{"key":{"TraitDecl":25},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]}]},{"key":{"Global":9},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":28},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":28}}]},{"key":{"Fun":155},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get",0]}]},{"key":{"Fun":156},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get_mut",0]}]},{"key":{"Fun":157},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":158},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":159},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["index",0]}]},{"key":{"Fun":160},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["index_mut",0]}]},{"key":{"TraitImpl":29},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":29}}]},{"key":{"Global":10},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":30},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":30}}]},{"key":{"Fun":161},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get",0]}]},{"key":{"Fun":162},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get_mut",0]}]},{"key":{"Fun":163},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":164},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":165},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["index",0]}]},{"key":{"Fun":166},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["index_mut",0]}]},{"key":{"Fun":167},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone",0]}]},{"key":{"Fun":168},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone_from",0]}]},{"key":{"TraitImpl":31},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":31}}]},{"key":{"Fun":169},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":31}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":32},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":32}}]},{"key":{"Fun":170},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":32}},{"Ident":["from",0]}]},{"key":{"Global":11},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}]},{"key":{"TraitImpl":33},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":33}}]},{"key":{"TraitImpl":34},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}}]},{"key":{"Fun":171},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["steps_between",0]}]},{"key":{"Fun":172},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":173},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["forward",0]}]},{"key":{"Fun":174},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":175},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":176},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["backward",0]}]},{"key":{"Fun":177},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["backward_unchecked",0]}]},{"key":{"Fun":178},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_ROOTS",0]}]},{"key":{"Fun":179},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["from_be_bytes",0]}]},{"key":{"Fun":180},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Auth",0]},{"Impl":{"Trait":19}},{"Ident":["drop_glue",0]}]},{"key":{"TraitImpl":35},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":35}}]},{"key":{"Fun":181},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":35}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":36},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsSig",0]},{"Impl":{"Trait":36}}]},{"key":{"Type":49},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsPk",0]}]},{"key":{"Global":12},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_HASH",0]}]},{"key":{"Fun":182},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"HashConsedValue":[390,{"Literal":{"UInt":"Usize"}}]}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"HashConsedValue":[5394,{"Adt":{"id":{"Adt":8},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Bound":[0,0]}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Bound":[0,1]}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Bound":[0,2]}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"kind":"InherentImplBlock"}}},{"Ident":["get_wots_sig",0]}]},{"key":{"Fun":183},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":5394},"kind":"InherentImplBlock"}}},{"Ident":["get_xmss_auth",0]}]},{"key":{"Fun":184},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["wots_pk_from_sig_free",0]}]},{"key":{"TraitImpl":37},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsPk",0]},{"Impl":{"Trait":37}}]},{"key":{"Global":13},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["TREE",0]}]},{"key":{"Fun":185},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["XmssSig",0]},{"Impl":{"Trait":21}},{"Ident":["drop_glue",0]}]},{"key":{"Global":14},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["equality",0]},{"Impl":{"Trait":22}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":186},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["equality",0]},{"Impl":{"Trait":22}},{"Ident":["ne",0]}]},{"key":{"Type":50},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":187},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["eq",0]}]},{"key":{"Fun":188},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["ne",0]}]},{"key":{"Global":15},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":23}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":189},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":23}},{"Ident":["eq",0]}]},{"key":{"Fun":190},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":23}},{"Ident":["ne",0]}]},{"key":{"TraitImpl":38},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":38}}]},{"key":{"Fun":191},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":38}},{"Ident":["drop",0]}]},{"key":{"TraitDecl":26},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["drop",0]},{"Ident":["Drop",0]}]},{"key":{"Global":16},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":24}},{"Ident":["{vtable}",0]}]},{"key":{"Type":51},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["drop",0]},{"Ident":["Drop",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":192},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["drop",0]},{"Ident":["Drop",0]},{"Ident":["drop",0]}]},{"key":{"Fun":193},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["drop",0]},{"Ident":["Drop",0]},{"Ident":["pin_drop",0]}]},{"key":{"Type":52},"value":[{"Ident":["core",0]},{"Ident":["pin",0]},{"Ident":["Pin",0]}]},{"key":{"TraitImpl":39},"value":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Impl":{"Trait":39}}]},{"key":{"Fun":194},"value":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Impl":{"Trait":39}},{"Ident":["zeroize_or_on_drop",0]}]},{"key":{"TraitDecl":27},"value":[{"Ident":["zeroize",0]},{"Ident":["Zeroize",0]}]},{"key":{"TraitImpl":40},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":40}}]},{"key":{"TraitImpl":41},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":41}}]},{"key":{"TraitDecl":28},"value":[{"Ident":["zeroize",0]},{"Ident":["DefaultIsZeroes",0]}]},{"key":{"TraitImpl":42},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":42}}]},{"key":{"Type":53},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":195},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["into_iter",0]}]},{"key":{"TraitDecl":29},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]}]},{"key":{"TraitImpl":43},"value":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":43}}]},{"key":{"TraitImpl":44},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":44}}]},{"key":{"Type":54},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Ident":["NonZeroUsizeInner",0]}]},{"key":{"TraitImpl":45},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":45}}]},{"key":{"Type":55},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":196},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["call_mut",0]}]},{"key":{"Type":56},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":197},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["call_once",0]}]},{"key":{"Fun":198},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]},{"Ident":["from_iter",0]}]},{"key":{"TraitDecl":30},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]}]},{"key":{"Fun":199},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["from_output",0]}]},{"key":{"Fun":200},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["branch",0]}]},{"key":{"Type":57},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["control_flow",0]},{"Ident":["ControlFlow",0]}]},{"key":{"Fun":201},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend",0]}]},{"key":{"Fun":202},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_one",0]}]},{"key":{"Fun":203},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_reserve",0]}]},{"key":{"Fun":204},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend_one_unchecked",0]}]},{"key":{"Type":58},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":205},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["next_back",0]}]},{"key":{"Fun":206},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["advance_back_by",0]}]},{"key":{"Fun":207},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["nth_back",0]}]},{"key":{"Fun":208},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["try_rfold",0]}]},{"key":{"Fun":209},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["rfold",0]}]},{"key":{"Fun":210},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["rfind",0]}]},{"key":{"Type":59},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":211},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["len",0]}]},{"key":{"Fun":212},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]},{"Ident":["is_empty",0]}]},{"key":{"TraitDecl":31},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]}]},{"key":{"Fun":213},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["cmp",0]}]},{"key":{"Fun":214},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["max",0]}]},{"key":{"Fun":215},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["min",0]}]},{"key":{"Fun":216},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["clamp",0]}]},{"key":{"Fun":217},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]},{"Ident":["sum",0]}]},{"key":{"Fun":218},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]},{"Ident":["product",0]}]},{"key":{"Type":60},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":219},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":220},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["lt",0]}]},{"key":{"Fun":221},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["le",0]}]},{"key":{"Fun":222},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["gt",0]}]},{"key":{"Fun":223},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["ge",0]}]},{"key":{"Fun":224},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":225},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":226},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":227},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["__chaining_ge",0]}]},{"key":{"Fun":228},"value":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]},{"Ident":["size",0]}]},{"key":{"Fun":229},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":26}},{"Ident":["clone",0]}]},{"key":{"Global":17},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":46},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":46}}]},{"key":{"Fun":230},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":231},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["lt",0]}]},{"key":{"Fun":232},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["le",0]}]},{"key":{"Fun":233},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["gt",0]}]},{"key":{"Fun":234},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["ge",0]}]},{"key":{"Fun":235},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":236},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":237},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":238},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["__chaining_ge",0]}]},{"key":{"Fun":239},"value":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]},{"Ident":["from",0]}]},{"key":{"Global":18},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":28}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":240},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":29}},{"Ident":["clone",0]}]},{"key":{"Global":19},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":30}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":241},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":31}},{"Ident":["clone_from",0]}]},{"key":{"Fun":242},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}]},{"key":{"Fun":243},"value":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":33}},{"Ident":["clone",0]}]},{"key":{"Global":20},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":47},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":47}}]},{"key":{"Fun":244},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":245},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["lt",0]}]},{"key":{"Fun":246},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["le",0]}]},{"key":{"Fun":247},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["gt",0]}]},{"key":{"Fun":248},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["ge",0]}]},{"key":{"Fun":249},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":250},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":251},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":252},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["__chaining_ge",0]}]},{"key":{"TraitImpl":48},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":48}}]},{"key":{"Fun":253},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":48}},{"Ident":["drop",0]}]},{"key":{"Fun":254},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsSig",0]},{"Impl":{"Trait":36}},{"Ident":["drop_glue",0]}]},{"key":{"Fun":255},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_HASH",0]}]},{"key":{"TraitImpl":49},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":49}}]},{"key":{"Fun":256},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":49}},{"Ident":["index_mut",0]}]},{"key":{"TraitDecl":32},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["IndexMut",0]}]},{"key":{"TraitImpl":50},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":50}}]},{"key":{"Global":21},"value":[{"Ident":["fips205",0]},{"Ident":["LGW",0]}]},{"key":{"Global":22},"value":[{"Ident":["fips205",0]},{"Ident":["W",0]}]},{"key":{"Global":23},"value":[{"Ident":["fips205",0]},{"Ident":["LEN2",0]}]},{"key":{"Fun":257},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_byte",0]}]},{"key":{"Fun":258},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_chain_address",0]}]},{"key":{"Global":24},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_PK",0]}]},{"key":{"Fun":259},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["t_l",0]}]},{"key":{"Fun":260},"value":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["chain_free",0]}]},{"key":{"Fun":261},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsPk",0]},{"Impl":{"Trait":37}},{"Ident":["drop_glue",0]}]},{"key":{"Fun":262},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["TREE",0]}]},{"key":{"TraitImpl":51},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":51}}]},{"key":{"Fun":263},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":51}},{"Ident":["drop",0]}]},{"key":{"Global":25},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":38}},{"Ident":["{vtable}",0]}]},{"key":{"TraitDecl":33},"value":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Ident":["AssertZeroize",0]}]},{"key":{"Global":26},"value":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Impl":{"Trait":39}},{"Ident":["{vtable}",0]}]},{"key":{"Type":61},"value":[{"Ident":["zeroize",0]},{"Ident":["Zeroize",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":264},"value":[{"Ident":["zeroize",0]},{"Ident":["Zeroize",0]},{"Ident":["zeroize",0]}]},{"key":{"Global":27},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":40}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":265},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":40}},{"Ident":["zeroize",0]}]},{"key":{"Global":28},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":41}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":266},"value":[{"Ident":["zeroize",0]},{"Impl":{"Trait":41}},{"Ident":["zeroize",0]}]},{"key":{"Type":62},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]},{"Ident":["{vtable}",0]}]},{"key":{"Global":29},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":44}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":52},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":52}}]},{"key":{"Fun":267},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]},{"Ident":["from_residual",0]}]},{"key":{"Fun":268},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_receiver_is_total_eq",0]}]},{"key":{"Fun":269},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]},{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Global":30},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":46}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":270},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":46}},{"Ident":["eq",0]}]},{"key":{"Fun":271},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":46}},{"Ident":["ne",0]}]},{"key":{"Global":31},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":47}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":272},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":47}},{"Ident":["eq",0]}]},{"key":{"Fun":273},"value":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":47}},{"Ident":["ne",0]}]},{"key":{"Global":32},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":48}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":53},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":53}}]},{"key":{"Fun":274},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":53}},{"Ident":["drop",0]}]},{"key":{"Global":33},"value":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":49}},{"Ident":["{vtable}",0]}]},{"key":{"Type":63},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["IndexMut",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":275},"value":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["IndexMut",0]},{"Ident":["index_mut",0]}]},{"key":{"Global":34},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":50}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":276},"value":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":50}},{"Ident":["index_mut",0]}]},{"key":{"Fun":277},"value":[{"Ident":["fips205",0]},{"Ident":["LGW",0]}]},{"key":{"Fun":278},"value":[{"Ident":["fips205",0]},{"Ident":["W",0]}]},{"key":{"Fun":279},"value":[{"Ident":["fips205",0]},{"Ident":["LEN2",0]}]},{"key":{"Global":35},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_byte",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Global":36},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_byte",0]},{"Ident":["{promoted_const}",1]}]},{"key":{"Fun":280},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["to_le_bytes",0]}]},{"key":{"Fun":281},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_PK",0]}]},{"key":{"Fun":282},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_hash_address",0]}]},{"key":{"TraitImpl":54},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":54}}]},{"key":{"Fun":283},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":54}},{"Ident":["drop",0]}]},{"key":{"Global":37},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":51}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":55},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":55}}]},{"key":{"Type":64},"value":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Ident":["AssertZeroize",0]},{"Ident":["{vtable}",0]}]},{"key":{"Fun":284},"value":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Ident":["AssertZeroize",0]},{"Ident":["zeroize_or_on_drop",0]}]},{"key":{"Fun":285},"value":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":52}},{"Ident":["clone",0]}]},{"key":{"Global":38},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":53}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":286},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_byte",0]},{"Ident":["{promoted_const}",0]}]},{"key":{"Fun":287},"value":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_byte",0]},{"Ident":["{promoted_const}",1]}]},{"key":{"Global":39},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":54}},{"Ident":["{vtable}",0]}]},{"key":{"Global":40},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":55}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":288},"value":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":55}},{"Ident":["zeroize",0]}]}],"assoc_item_names":[{"types":[],"methods":["drop_glue"],"consts":[]},{"types":["Output"],"methods":["index"],"consts":[]},{"types":["Output"],"methods":["get","get_mut","get_unchecked","get_unchecked_mut","index","index_mut"],"consts":[]},{"types":[],"methods":["default"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":["Item"],"methods":["next","next_chunk","size_hint","count","last","advance_by","nth","step_by","chain","zip","intersperse","intersperse_with","map","for_each","filter","filter_map","enumerate","peekable","skip_while","take_while","map_while","skip","take","scan","flat_map","flatten","map_windows","fuse","inspect","by_ref","collect","try_collect","collect_into","partition","partition_in_place","is_partitioned","try_fold","try_for_each","fold","reduce","try_reduce","all","any","find","find_map","try_find","position","rposition","max","min","max_by_key","max_by","min_by_key","min_by","rev","unzip","copied","cloned","cycle","array_chunks","sum","product","cmp","cmp_by","partial_cmp","partial_cmp_by","eq","eq_by","ne","lt","le","gt","ge","is_sorted","is_sorted_by","is_sorted_by_key","__iterator_get_unchecked"],"consts":[]},{"types":[],"methods":["steps_between","forward_checked","forward","forward_unchecked","backward_checked","backward","backward_unchecked"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["eq","ne"],"consts":[]},{"types":["Item","IntoIter"],"methods":["into_iter"],"consts":[]},{"types":["NonZeroInner"],"methods":[],"consts":[]},{"types":[],"methods":["clone","clone_from"],"consts":[]},{"types":[],"methods":["call_mut"],"consts":[]},{"types":["Output"],"methods":["call_once"],"consts":[]},{"types":[],"methods":["from_iter"],"consts":[]},{"types":["Output","Residual","Self_Clause1_TryType"],"methods":["from_output","branch"],"consts":[]},{"types":["TryType"],"methods":[],"consts":[]},{"types":[],"methods":["extend","extend_one","extend_reserve","extend_one_unchecked"],"consts":[]},{"types":[],"methods":["next_back","advance_back_by","nth_back","try_rfold","rfold","rfind"],"consts":[]},{"types":[],"methods":["len","is_empty"],"consts":[]},{"types":[],"methods":["cmp","max","min","clamp"],"consts":[]},{"types":[],"methods":["sum"],"consts":[]},{"types":[],"methods":["product"],"consts":[]},{"types":[],"methods":["partial_cmp","lt","le","gt","ge","__chaining_lt","__chaining_le","__chaining_gt","__chaining_ge"],"consts":[]},{"types":[],"methods":["size"],"consts":["MAY_HAVE_SIDE_EFFECT"]},{"types":[],"methods":["from"],"consts":[]},{"types":[],"methods":["drop","pin_drop"],"consts":[]},{"types":[],"methods":["zeroize"],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":[],"consts":[]},{"types":[],"methods":["from_residual"],"consts":[]},{"types":[],"methods":["assert_receiver_is_total_eq","assert_fields_are_eq"],"consts":[]},{"types":[],"methods":["index_mut"],"consts":[]},{"types":[],"methods":["zeroize_or_on_drop"],"consts":[]}],"short_names":[{"key":{"TraitImpl":0},"value":[{"Ident":["impl_Default_for_Adrs",0]}]},{"key":{"Fun":2},"value":[{"Impl":{"Trait":0}},{"Ident":["default",0]}]},{"key":{"TraitImpl":1},"value":[{"Ident":["impl_Destruct_for_Adrs",0]}]},{"key":{"TraitImpl":2},"value":[{"Ident":["impl_Index_for_array",0]}]},{"key":{"Fun":5},"value":[{"Impl":{"Trait":2}},{"Ident":["index",0]}]},{"key":{"TraitImpl":3},"value":[{"Ident":["impl_Index_for_slice",0]}]},{"key":{"TraitImpl":4},"value":[{"Ident":["impl_SliceIndex_slice_for_Range_usize",0]}]},{"key":{"TraitImpl":5},"value":[{"Ident":["impl_Destruct_for_ForsPk",0]}]},{"key":{"TraitImpl":6},"value":[{"Ident":["impl_Default_for_array",0]}]},{"key":{"Fun":12},"value":[{"Impl":{"Trait":6}},{"Ident":["default",0]}]},{"key":{"TraitImpl":7},"value":[{"Ident":["impl_Default_for_u8",0]}]},{"key":{"Fun":13},"value":[{"Impl":{"Trait":1}},{"Ident":["drop_glue",0]}]},{"key":{"Global":2},"value":[{"Impl":{"Trait":2}},{"Ident":["{vtable}",0]}]},{"key":{"Global":3},"value":[{"Impl":{"Trait":3}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":15},"value":[{"Impl":{"Trait":3}},{"Ident":["index",0]}]},{"key":{"Global":4},"value":[{"Impl":{"Trait":4}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":8},"value":[{"Ident":["impl_Sealed_for_Range_usize",0]}]},{"key":{"Fun":22},"value":[{"Impl":{"Trait":4}},{"Ident":["get",0]}]},{"key":{"Fun":23},"value":[{"Impl":{"Trait":4}},{"Ident":["get_mut",0]}]},{"key":{"Fun":24},"value":[{"Impl":{"Trait":4}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":25},"value":[{"Impl":{"Trait":4}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":26},"value":[{"Impl":{"Trait":4}},{"Ident":["index",0]}]},{"key":{"Fun":27},"value":[{"Impl":{"Trait":4}},{"Ident":["index_mut",0]}]},{"key":{"TraitImpl":9},"value":[{"Ident":["impl_IntoIterator_for_T",0]}]},{"key":{"Fun":29},"value":[{"Impl":{"Trait":9}},{"Ident":["into_iter",0]}]},{"key":{"TraitImpl":10},"value":[{"Ident":["impl_Iterator_for_Range",0]}]},{"key":{"TraitImpl":11},"value":[{"Ident":["impl_Step_for_usize",0]}]},{"key":{"Fun":30},"value":[{"Impl":{"Trait":10}},{"Ident":["next",0]}]},{"key":{"TraitImpl":12},"value":[{"Ident":["impl_From_u8_for_u64",0]}]},{"key":{"Fun":31},"value":[{"Impl":{"Trait":12}},{"Ident":["from",0]}]},{"key":{"TraitImpl":13},"value":[{"Ident":["impl_SliceIndex_slice_for_RangeTo_usize",0]}]},{"key":{"TraitImpl":14},"value":[{"Ident":["impl_Copy_for_u8",0]}]},{"key":{"TraitImpl":15},"value":[{"Ident":["impl_SliceIndex_slice_for_RangeFrom_usize",0]}]},{"key":{"TraitImpl":16},"value":[{"Ident":["impl_Clone_for_Adrs",0]}]},{"key":{"Fun":37},"value":[{"Impl":{"Trait":16}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":17},"value":[{"Ident":["impl_Step_for_u32",0]}]},{"key":{"TraitImpl":18},"value":[{"Ident":["impl_Clone_for_Auth",0]}]},{"key":{"Fun":44},"value":[{"Impl":{"Trait":18}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":19},"value":[{"Ident":["impl_Destruct_for_Auth",0]}]},{"key":{"TraitImpl":20},"value":[{"Ident":["impl_Clone_for_XmssSig",0]}]},{"key":{"Fun":47},"value":[{"Impl":{"Trait":20}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":21},"value":[{"Ident":["impl_Destruct_for_XmssSig",0]}]},{"key":{"TraitImpl":22},"value":[{"Ident":["impl_PartialEq_array_for_array",0]}]},{"key":{"Fun":49},"value":[{"Impl":{"Trait":22}},{"Ident":["eq",0]}]},{"key":{"TraitImpl":23},"value":[{"Ident":["impl_PartialEq_u8_for_u8",0]}]},{"key":{"Fun":51},"value":[{"Impl":{"Trait":5}},{"Ident":["drop_glue",0]}]},{"key":{"Fun":53},"value":[{"Impl":{"Trait":7}},{"Ident":["default",0]}]},{"key":{"TraitImpl":24},"value":[{"Ident":["impl_Drop_for_Adrs",0]}]},{"key":{"Fun":54},"value":[{"Impl":{"Trait":24}},{"Ident":["drop",0]}]},{"key":{"Global":6},"value":[{"Impl":{"Trait":8}},{"Ident":["{vtable}",0]}]},{"key":{"Global":7},"value":[{"Impl":{"Trait":9}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":25},"value":[{"Ident":["impl_ZeroablePrimitive_for_usize",0]}]},{"key":{"Global":8},"value":[{"Impl":{"Trait":10}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":132},"value":[{"Impl":{"Trait":10}},{"Ident":["size_hint",0]}]},{"key":{"Fun":133},"value":[{"Impl":{"Trait":10}},{"Ident":["count",0]}]},{"key":{"Fun":134},"value":[{"Impl":{"Trait":10}},{"Ident":["last",0]}]},{"key":{"Fun":135},"value":[{"Impl":{"Trait":10}},{"Ident":["advance_by",0]}]},{"key":{"Fun":136},"value":[{"Impl":{"Trait":10}},{"Ident":["nth",0]}]},{"key":{"Fun":137},"value":[{"Impl":{"Trait":10}},{"Ident":["max",0]}]},{"key":{"Fun":138},"value":[{"Impl":{"Trait":10}},{"Ident":["min",0]}]},{"key":{"Fun":139},"value":[{"Impl":{"Trait":10}},{"Ident":["is_sorted",0]}]},{"key":{"Fun":140},"value":[{"Impl":{"Trait":10}},{"Ident":["__iterator_get_unchecked",0]}]},{"key":{"TraitImpl":26},"value":[{"Ident":["impl_Clone_for_usize",0]}]},{"key":{"TraitImpl":27},"value":[{"Ident":["impl_PartialOrd_usize_for_usize",0]}]},{"key":{"Fun":148},"value":[{"Impl":{"Trait":11}},{"Ident":["steps_between",0]}]},{"key":{"Fun":149},"value":[{"Impl":{"Trait":11}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":150},"value":[{"Impl":{"Trait":11}},{"Ident":["forward",0]}]},{"key":{"Fun":151},"value":[{"Impl":{"Trait":11}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":152},"value":[{"Impl":{"Trait":11}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":153},"value":[{"Impl":{"Trait":11}},{"Ident":["backward",0]}]},{"key":{"Fun":154},"value":[{"Impl":{"Trait":11}},{"Ident":["backward_unchecked",0]}]},{"key":{"Global":9},"value":[{"Impl":{"Trait":13}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":28},"value":[{"Ident":["impl_Sealed_for_RangeTo_usize",0]}]},{"key":{"Fun":155},"value":[{"Impl":{"Trait":13}},{"Ident":["get",0]}]},{"key":{"Fun":156},"value":[{"Impl":{"Trait":13}},{"Ident":["get_mut",0]}]},{"key":{"Fun":157},"value":[{"Impl":{"Trait":13}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":158},"value":[{"Impl":{"Trait":13}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":159},"value":[{"Impl":{"Trait":13}},{"Ident":["index",0]}]},{"key":{"Fun":160},"value":[{"Impl":{"Trait":13}},{"Ident":["index_mut",0]}]},{"key":{"TraitImpl":29},"value":[{"Ident":["impl_Clone_for_u8",0]}]},{"key":{"Global":10},"value":[{"Impl":{"Trait":15}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":30},"value":[{"Ident":["impl_Sealed_for_RangeFrom_usize",0]}]},{"key":{"Fun":161},"value":[{"Impl":{"Trait":15}},{"Ident":["get",0]}]},{"key":{"Fun":162},"value":[{"Impl":{"Trait":15}},{"Ident":["get_mut",0]}]},{"key":{"Fun":163},"value":[{"Impl":{"Trait":15}},{"Ident":["get_unchecked",0]}]},{"key":{"Fun":164},"value":[{"Impl":{"Trait":15}},{"Ident":["get_unchecked_mut",0]}]},{"key":{"Fun":165},"value":[{"Impl":{"Trait":15}},{"Ident":["index",0]}]},{"key":{"Fun":166},"value":[{"Impl":{"Trait":15}},{"Ident":["index_mut",0]}]},{"key":{"TraitImpl":31},"value":[{"Ident":["impl_Clone_for_array",0]}]},{"key":{"Fun":169},"value":[{"Impl":{"Trait":31}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":32},"value":[{"Ident":["impl_From_u8_for_u32",0]}]},{"key":{"Fun":170},"value":[{"Impl":{"Trait":32}},{"Ident":["from",0]}]},{"key":{"TraitImpl":33},"value":[{"Ident":["impl_Clone_for_u32",0]}]},{"key":{"TraitImpl":34},"value":[{"Ident":["impl_PartialOrd_u32_for_u32",0]}]},{"key":{"Fun":171},"value":[{"Impl":{"Trait":17}},{"Ident":["steps_between",0]}]},{"key":{"Fun":172},"value":[{"Impl":{"Trait":17}},{"Ident":["forward_checked",0]}]},{"key":{"Fun":173},"value":[{"Impl":{"Trait":17}},{"Ident":["forward",0]}]},{"key":{"Fun":174},"value":[{"Impl":{"Trait":17}},{"Ident":["forward_unchecked",0]}]},{"key":{"Fun":175},"value":[{"Impl":{"Trait":17}},{"Ident":["backward_checked",0]}]},{"key":{"Fun":176},"value":[{"Impl":{"Trait":17}},{"Ident":["backward",0]}]},{"key":{"Fun":177},"value":[{"Impl":{"Trait":17}},{"Ident":["backward_unchecked",0]}]},{"key":{"Fun":180},"value":[{"Impl":{"Trait":19}},{"Ident":["drop_glue",0]}]},{"key":{"TraitImpl":35},"value":[{"Ident":["impl_Clone_for_WotsSig",0]}]},{"key":{"Fun":181},"value":[{"Impl":{"Trait":35}},{"Ident":["clone",0]}]},{"key":{"TraitImpl":36},"value":[{"Ident":["impl_Destruct_for_WotsSig",0]}]},{"key":{"TraitImpl":37},"value":[{"Ident":["impl_Destruct_for_WotsPk",0]}]},{"key":{"Fun":185},"value":[{"Impl":{"Trait":21}},{"Ident":["drop_glue",0]}]},{"key":{"Global":14},"value":[{"Impl":{"Trait":22}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":186},"value":[{"Impl":{"Trait":22}},{"Ident":["ne",0]}]},{"key":{"Global":15},"value":[{"Impl":{"Trait":23}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":189},"value":[{"Impl":{"Trait":23}},{"Ident":["eq",0]}]},{"key":{"Fun":190},"value":[{"Impl":{"Trait":23}},{"Ident":["ne",0]}]},{"key":{"TraitImpl":38},"value":[{"Ident":["impl_Drop_for_ForsPk",0]}]},{"key":{"Fun":191},"value":[{"Impl":{"Trait":38}},{"Ident":["drop",0]}]},{"key":{"Global":16},"value":[{"Impl":{"Trait":24}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":39},"value":[{"Ident":["impl_AssertZeroize_for_T",0]}]},{"key":{"Fun":194},"value":[{"Impl":{"Trait":39}},{"Ident":["zeroize_or_on_drop",0]}]},{"key":{"TraitImpl":40},"value":[{"Ident":["impl_Zeroize_for_array",0]}]},{"key":{"TraitImpl":41},"value":[{"Ident":["impl_Zeroize_for_T",0]}]},{"key":{"TraitImpl":42},"value":[{"Ident":["impl_DefaultIsZeroes_for_u8",0]}]},{"key":{"TraitImpl":43},"value":[{"Ident":["impl_Copy_for_usize",0]}]},{"key":{"TraitImpl":44},"value":[{"Ident":["impl_Sealed_for_usize",0]}]},{"key":{"TraitImpl":45},"value":[{"Ident":["impl_Copy_for_NonZeroUsizeInner",0]}]},{"key":{"Fun":229},"value":[{"Impl":{"Trait":26}},{"Ident":["clone",0]}]},{"key":{"Global":17},"value":[{"Impl":{"Trait":27}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":46},"value":[{"Ident":["impl_PartialEq_usize_for_usize",0]}]},{"key":{"Fun":230},"value":[{"Impl":{"Trait":27}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":231},"value":[{"Impl":{"Trait":27}},{"Ident":["lt",0]}]},{"key":{"Fun":232},"value":[{"Impl":{"Trait":27}},{"Ident":["le",0]}]},{"key":{"Fun":233},"value":[{"Impl":{"Trait":27}},{"Ident":["gt",0]}]},{"key":{"Fun":234},"value":[{"Impl":{"Trait":27}},{"Ident":["ge",0]}]},{"key":{"Fun":235},"value":[{"Impl":{"Trait":27}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":236},"value":[{"Impl":{"Trait":27}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":237},"value":[{"Impl":{"Trait":27}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":238},"value":[{"Impl":{"Trait":27}},{"Ident":["__chaining_ge",0]}]},{"key":{"Global":18},"value":[{"Impl":{"Trait":28}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":240},"value":[{"Impl":{"Trait":29}},{"Ident":["clone",0]}]},{"key":{"Global":19},"value":[{"Impl":{"Trait":30}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":241},"value":[{"Impl":{"Trait":31}},{"Ident":["clone_from",0]}]},{"key":{"Fun":243},"value":[{"Impl":{"Trait":33}},{"Ident":["clone",0]}]},{"key":{"Global":20},"value":[{"Impl":{"Trait":34}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":47},"value":[{"Ident":["impl_PartialEq_u32_for_u32",0]}]},{"key":{"Fun":244},"value":[{"Impl":{"Trait":34}},{"Ident":["partial_cmp",0]}]},{"key":{"Fun":245},"value":[{"Impl":{"Trait":34}},{"Ident":["lt",0]}]},{"key":{"Fun":246},"value":[{"Impl":{"Trait":34}},{"Ident":["le",0]}]},{"key":{"Fun":247},"value":[{"Impl":{"Trait":34}},{"Ident":["gt",0]}]},{"key":{"Fun":248},"value":[{"Impl":{"Trait":34}},{"Ident":["ge",0]}]},{"key":{"Fun":249},"value":[{"Impl":{"Trait":34}},{"Ident":["__chaining_lt",0]}]},{"key":{"Fun":250},"value":[{"Impl":{"Trait":34}},{"Ident":["__chaining_le",0]}]},{"key":{"Fun":251},"value":[{"Impl":{"Trait":34}},{"Ident":["__chaining_gt",0]}]},{"key":{"Fun":252},"value":[{"Impl":{"Trait":34}},{"Ident":["__chaining_ge",0]}]},{"key":{"TraitImpl":48},"value":[{"Ident":["impl_Drop_for_Auth",0]}]},{"key":{"Fun":253},"value":[{"Impl":{"Trait":48}},{"Ident":["drop",0]}]},{"key":{"Fun":254},"value":[{"Impl":{"Trait":36}},{"Ident":["drop_glue",0]}]},{"key":{"TraitImpl":49},"value":[{"Ident":["impl_IndexMut_for_array",0]}]},{"key":{"Fun":256},"value":[{"Impl":{"Trait":49}},{"Ident":["index_mut",0]}]},{"key":{"TraitImpl":50},"value":[{"Ident":["impl_IndexMut_for_slice",0]}]},{"key":{"Fun":261},"value":[{"Impl":{"Trait":37}},{"Ident":["drop_glue",0]}]},{"key":{"TraitImpl":51},"value":[{"Ident":["impl_Drop_for_XmssSig",0]}]},{"key":{"Fun":263},"value":[{"Impl":{"Trait":51}},{"Ident":["drop",0]}]},{"key":{"Global":25},"value":[{"Impl":{"Trait":38}},{"Ident":["{vtable}",0]}]},{"key":{"Global":26},"value":[{"Impl":{"Trait":39}},{"Ident":["{vtable}",0]}]},{"key":{"Global":27},"value":[{"Impl":{"Trait":40}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":265},"value":[{"Impl":{"Trait":40}},{"Ident":["zeroize",0]}]},{"key":{"Global":28},"value":[{"Impl":{"Trait":41}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":266},"value":[{"Impl":{"Trait":41}},{"Ident":["zeroize",0]}]},{"key":{"Global":29},"value":[{"Impl":{"Trait":44}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":52},"value":[{"Ident":["impl_Clone_for_NonZeroUsizeInner",0]}]},{"key":{"Global":30},"value":[{"Impl":{"Trait":46}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":270},"value":[{"Impl":{"Trait":46}},{"Ident":["eq",0]}]},{"key":{"Fun":271},"value":[{"Impl":{"Trait":46}},{"Ident":["ne",0]}]},{"key":{"Global":31},"value":[{"Impl":{"Trait":47}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":272},"value":[{"Impl":{"Trait":47}},{"Ident":["eq",0]}]},{"key":{"Fun":273},"value":[{"Impl":{"Trait":47}},{"Ident":["ne",0]}]},{"key":{"Global":32},"value":[{"Impl":{"Trait":48}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":53},"value":[{"Ident":["impl_Drop_for_WotsSig",0]}]},{"key":{"Fun":274},"value":[{"Impl":{"Trait":53}},{"Ident":["drop",0]}]},{"key":{"Global":33},"value":[{"Impl":{"Trait":49}},{"Ident":["{vtable}",0]}]},{"key":{"Global":34},"value":[{"Impl":{"Trait":50}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":276},"value":[{"Impl":{"Trait":50}},{"Ident":["index_mut",0]}]},{"key":{"TraitImpl":54},"value":[{"Ident":["impl_Drop_for_WotsPk",0]}]},{"key":{"Fun":283},"value":[{"Impl":{"Trait":54}},{"Ident":["drop",0]}]},{"key":{"Global":37},"value":[{"Impl":{"Trait":51}},{"Ident":["{vtable}",0]}]},{"key":{"TraitImpl":55},"value":[{"Ident":["impl_Zeroize_for_WotsSig",0]}]},{"key":{"Fun":285},"value":[{"Impl":{"Trait":52}},{"Ident":["clone",0]}]},{"key":{"Global":38},"value":[{"Impl":{"Trait":53}},{"Ident":["{vtable}",0]}]},{"key":{"Global":39},"value":[{"Impl":{"Trait":54}},{"Ident":["{vtable}",0]}]},{"key":{"Global":40},"value":[{"Impl":{"Trait":55}},{"Ident":["{vtable}",0]}]},{"key":{"Fun":288},"value":[{"Impl":{"Trait":55}},{"Ident":["zeroize",0]}]},{"key":{"TraitDecl":5},"value":[{"Ident":["Iterator",0]}]},{"key":{"Fun":228},"value":[{"Ident":["size",0]}]},{"key":{"Fun":42},"value":[{"Ident":["set_tree_index",0]}]},{"key":{"Fun":65},"value":[{"Ident":["intersperse",0]}]},{"key":{"Fun":90},"value":[{"Ident":["is_partitioned",0]}]},{"key":{"Type":36},"value":[{"Ident":["Take",0]}]},{"key":{"Global":13},"value":[{"Ident":["TREE",0]}]},{"key":{"Fun":262},"value":[{"Ident":["TREE",0]}]},{"key":{"Fun":41},"value":[{"Ident":["t_len",0]}]},{"key":{"Fun":67},"value":[{"Ident":["map",0]}]},{"key":{"Type":57},"value":[{"Ident":["ControlFlow",0]}]},{"key":{"Fun":122},"value":[{"Ident":["eq_by",0]}]},{"key":{"Global":1},"value":[{"Ident":["FORS_TREE",0]}]},{"key":{"Fun":36},"value":[{"Ident":["FORS_TREE",0]}]},{"key":{"Type":0},"value":[{"Ident":["SlhDsaSig",0]}]},{"key":{"Fun":129},"value":[{"Ident":["is_sorted_by",0]}]},{"key":{"Fun":64},"value":[{"Ident":["zip",0]}]},{"key":{"Type":26},"value":[{"Ident":["IntersperseWith",0]}]},{"key":{"Fun":38},"value":[{"Ident":["base_2b",0]}]},{"key":{"Fun":40},"value":[{"Ident":["get_key_pair_address",0]}]},{"key":{"Type":12},"value":[{"Ident":["AssertKind",0]}]},{"key":{"Fun":184},"value":[{"Ident":["wots_pk_from_sig_free",0]}]},{"key":{"TraitDecl":6},"value":[{"Ident":["Step",0]}]},{"key":{"Type":11},"value":[{"Ident":["Option",0]}]},{"key":{"Type":27},"value":[{"Ident":["Map",0]}]},{"key":{"Fun":201},"value":[{"Ident":["extend",0]}]},{"key":{"TraitDecl":30},"value":[{"Ident":["FromResidual",0]}]},{"key":{"Type":45},"value":[{"Ident":["Copied",0]}]},{"key":{"Fun":202},"value":[{"Ident":["extend_one",0]}]},{"key":{"Type":33},"value":[{"Ident":["TakeWhile",0]}]},{"key":{"Type":3},"value":[{"Ident":["HtSig",0]}]},{"key":{"Fun":6},"value":[{"Ident":["to_int",0]}]},{"key":{"Fun":68},"value":[{"Ident":["for_each",0]}]},{"key":{"Type":31},"value":[{"Ident":["Peekable",0]}]},{"key":{"Fun":206},"value":[{"Ident":["advance_back_by",0]}]},{"key":{"Type":4},"value":[{"Ident":["Adrs",0]}]},{"key":{"Fun":74},"value":[{"Ident":["take_while",0]}]},{"key":{"Fun":92},"value":[{"Ident":["try_for_each",0]}]},{"key":{"Fun":97},"value":[{"Ident":["any",0]}]},{"key":{"Type":54},"value":[{"Ident":["NonZeroUsizeInner",0]}]},{"key":{"Fun":63},"value":[{"Ident":["chain",0]}]},{"key":{"Fun":111},"value":[{"Ident":["copied",0]}]},{"key":{"Global":12},"value":[{"Ident":["WOTS_HASH",0]}]},{"key":{"Fun":255},"value":[{"Ident":["WOTS_HASH",0]}]},{"key":{"Fun":113},"value":[{"Ident":["cycle",0]}]},{"key":{"Fun":73},"value":[{"Ident":["skip_while",0]}]},{"key":{"TraitDecl":9},"value":[{"Ident":["IntoIterator",0]}]},{"key":{"Fun":110},"value":[{"Ident":["unzip",0]}]},{"key":{"Type":46},"value":[{"Ident":["Cloned",0]}]},{"key":{"Type":49},"value":[{"Ident":["WotsPk",0]}]},{"key":{"Fun":89},"value":[{"Ident":["partition_in_place",0]}]},{"key":{"Fun":98},"value":[{"Ident":["find",0]}]},{"key":{"Fun":9},"value":[{"Ident":["set_key_pair_address",0]}]},{"key":{"TraitDecl":27},"value":[{"Ident":["Zeroize",0]}]},{"key":{"TraitDecl":28},"value":[{"Ident":["DefaultIsZeroes",0]}]},{"key":{"Type":29},"value":[{"Ident":["FilterMap",0]}]},{"key":{"TraitDecl":31},"value":[{"Ident":["Eq",0]}]},{"key":{"Global":22},"value":[{"Ident":["W",0]}]},{"key":{"Fun":278},"value":[{"Ident":["W",0]}]},{"key":{"Fun":0},"value":[{"Ident":["slh_verify_128s",0]}]},{"key":{"Fun":72},"value":[{"Ident":["peekable",0]}]},{"key":{"Fun":81},"value":[{"Ident":["map_windows",0]}]},{"key":{"Fun":93},"value":[{"Ident":["fold",0]}]},{"key":{"Fun":216},"value":[{"Ident":["clamp",0]}]},{"key":{"Type":16},"value":[{"Ident":["WotsSig",0]}]},{"key":{"Fun":94},"value":[{"Ident":["reduce",0]}]},{"key":{"TraitDecl":11},"value":[{"Ident":["Clone",0]}]},{"key":{"TraitDecl":22},"value":[{"Ident":["Product",0]}]},{"key":{"Fun":199},"value":[{"Ident":["from_output",0]}]},{"key":{"Fun":85},"value":[{"Ident":["collect",0]}]},{"key":{"Fun":45},"value":[{"Ident":["get_tree_index",0]}]},{"key":{"TraitDecl":13},"value":[{"Ident":["FnOnce",0]}]},{"key":{"Fun":107},"value":[{"Ident":["min_by_key",0]}]},{"key":{"Fun":282},"value":[{"Ident":["set_hash_address",0]}]},{"key":{"Fun":70},"value":[{"Ident":["filter_map",0]}]},{"key":{"Type":43},"value":[{"Ident":["Ordering",0]}]},{"key":{"Type":48},"value":[{"Ident":["ArrayChunks",0]}]},{"key":{"Fun":75},"value":[{"Ident":["map_while",0]}]},{"key":{"Fun":77},"value":[{"Ident":["take",0]}]},{"key":{"Type":39},"value":[{"Ident":["Flatten",0]}]},{"key":{"TraitDecl":16},"value":[{"Ident":["Residual",0]}]},{"key":{"Type":32},"value":[{"Ident":["SkipWhile",0]}]},{"key":{"Type":25},"value":[{"Ident":["Intersperse",0]}]},{"key":{"TraitDecl":20},"value":[{"Ident":["Ord",0]}]},{"key":{"Fun":1},"value":[{"Ident":["slh_verify_internal_free",0]}]},{"key":{"Fun":179},"value":[{"Ident":["from_be_bytes",0]}]},{"key":{"Fun":108},"value":[{"Ident":["min_by",0]}]},{"key":{"Type":28},"value":[{"Ident":["Filter",0]}]},{"key":{"Fun":66},"value":[{"Ident":["intersperse_with",0]}]},{"key":{"Type":22},"value":[{"Ident":["StepBy",0]}]},{"key":{"Type":6},"value":[{"Ident":["ForsPk",0]}]},{"key":{"Fun":84},"value":[{"Ident":["by_ref",0]}]},{"key":{"Fun":102},"value":[{"Ident":["rposition",0]}]},{"key":{"Fun":86},"value":[{"Ident":["try_collect",0]}]},{"key":{"TraitDecl":23},"value":[{"Ident":["PartialOrd",0]}]},{"key":{"Fun":257},"value":[{"Ident":["to_byte",0]}]},{"key":{"Fun":112},"value":[{"Ident":["cloned",0]}]},{"key":{"Fun":43},"value":[{"Ident":["f",0]}]},{"key":{"Fun":50},"value":[{"Ident":["set_layer_address",0]}]},{"key":{"Type":2},"value":[{"Ident":["ForsSig",0]}]},{"key":{"Fun":39},"value":[{"Ident":["set_tree_height",0]}]},{"key":{"Fun":182},"value":[{"Ident":["get_wots_sig",0]}]},{"key":{"Type":20},"value":[{"Ident":["IntoIter",0]}]},{"key":{"Fun":196},"value":[{"Ident":["call_mut",0]}]},{"key":{"Fun":209},"value":[{"Ident":["rfold",0]}]},{"key":{"Type":23},"value":[{"Ident":["Chain",0]}]},{"key":{"Fun":78},"value":[{"Ident":["scan",0]}]},{"key":{"Type":21},"value":[{"Ident":["NonZero",0]}]},{"key":{"TraitDecl":15},"value":[{"Ident":["Try",0]}]},{"key":{"Fun":210},"value":[{"Ident":["rfind",0]}]},{"key":{"Type":37},"value":[{"Ident":["Scan",0]}]},{"key":{"Fun":193},"value":[{"Ident":["pin_drop",0]}]},{"key":{"Type":24},"value":[{"Ident":["Zip",0]}]},{"key":{"Fun":88},"value":[{"Ident":["partition",0]}]},{"key":{"Fun":100},"value":[{"Ident":["try_find",0]}]},{"key":{"Fun":105},"value":[{"Ident":["max_by_key",0]}]},{"key":{"Fun":260},"value":[{"Ident":["chain_free",0]}]},{"key":{"Type":15},"value":[{"Ident":["RangeFrom",0]}]},{"key":{"Type":38},"value":[{"Ident":["FlatMap",0]}]},{"key":{"Type":13},"value":[{"Ident":["Arguments",0]}]},{"key":{"Fun":34},"value":[{"Ident":["copy_from_slice",0]}]},{"key":{"Fun":76},"value":[{"Ident":["skip",0]}]},{"key":{"Fun":11},"value":[{"Ident":["ht_verify_free",0]}]},{"key":{"TraitDecl":24},"value":[{"Ident":["TrustedRandomAccessNoCoerce",0]}]},{"key":{"Fun":71},"value":[{"Ident":["enumerate",0]}]},{"key":{"Fun":99},"value":[{"Ident":["find_map",0]}]},{"key":{"Fun":95},"value":[{"Ident":["try_reduce",0]}]},{"key":{"Fun":280},"value":[{"Ident":["to_le_bytes",0]}]},{"key":{"Fun":118},"value":[{"Ident":["cmp_by",0]}]},{"key":{"TraitDecl":25},"value":[{"Ident":["From",0]}]},{"key":{"TraitDecl":26},"value":[{"Ident":["Drop",0]}]},{"key":{"Fun":96},"value":[{"Ident":["all",0]}]},{"key":{"Fun":109},"value":[{"Ident":["rev",0]}]},{"key":{"Fun":69},"value":[{"Ident":["filter",0]}]},{"key":{"TraitDecl":17},"value":[{"Ident":["Extend",0]}]},{"key":{"Fun":198},"value":[{"Ident":["from_iter",0]}]},{"key":{"TraitDecl":12},"value":[{"Ident":["FnMut",0]}]},{"key":{"Fun":200},"value":[{"Ident":["branch",0]}]},{"key":{"Type":47},"value":[{"Ident":["Cycle",0]}]},{"key":{"Fun":208},"value":[{"Ident":["try_rfold",0]}]},{"key":{"Fun":56},"value":[{"Ident":["next_chunk",0]}]},{"key":{"Global":21},"value":[{"Ident":["LGW",0]}]},{"key":{"Fun":277},"value":[{"Ident":["LGW",0]}]},{"key":{"Fun":268},"value":[{"Ident":["assert_receiver_is_total_eq",0]}]},{"key":{"Fun":87},"value":[{"Ident":["collect_into",0]}]},{"key":{"Global":24},"value":[{"Ident":["WOTS_PK",0]}]},{"key":{"Fun":281},"value":[{"Ident":["WOTS_PK",0]}]},{"key":{"Type":7},"value":[{"Ident":["Auth",0]}]},{"key":{"Fun":8},"value":[{"Ident":["set_type_and_clear",0]}]},{"key":{"Fun":3},"value":[{"Ident":["h_msg",0]}]},{"key":{"Type":52},"value":[{"Ident":["Pin",0]}]},{"key":{"Fun":259},"value":[{"Ident":["t_l",0]}]},{"key":{"Fun":62},"value":[{"Ident":["step_by",0]}]},{"key":{"Fun":106},"value":[{"Ident":["max_by",0]}]},{"key":{"TraitDecl":18},"value":[{"Ident":["DoubleEndedIterator",0]}]},{"key":{"Fun":203},"value":[{"Ident":["extend_reserve",0]}]},{"key":{"TraitDecl":33},"value":[{"Ident":["AssertZeroize",0]}]},{"key":{"Fun":48},"value":[{"Ident":["xmss_pk_from_sig_free",0]}]},{"key":{"Type":41},"value":[{"Ident":["Fuse",0]}]},{"key":{"Fun":79},"value":[{"Ident":["flat_map",0]}]},{"key":{"Fun":197},"value":[{"Ident":["call_once",0]}]},{"key":{"Fun":183},"value":[{"Ident":["get_xmss_auth",0]}]},{"key":{"Global":23},"value":[{"Ident":["LEN2",0]}]},{"key":{"Fun":279},"value":[{"Ident":["LEN2",0]}]},{"key":{"Fun":114},"value":[{"Ident":["array_chunks",0]}]},{"key":{"Fun":267},"value":[{"Ident":["from_residual",0]}]},{"key":{"Fun":204},"value":[{"Ident":["extend_one_unchecked",0]}]},{"key":{"Type":1},"value":[{"Ident":["SlhPublicKey",0]}]},{"key":{"Type":8},"value":[{"Ident":["XmssSig",0]}]},{"key":{"TraitDecl":8},"value":[{"Ident":["PartialEq",0]}]},{"key":{"Fun":80},"value":[{"Ident":["flatten",0]}]},{"key":{"TraitDecl":14},"value":[{"Ident":["FromIterator",0]}]},{"key":{"TraitDecl":3},"value":[{"Ident":["Default",0]}]},{"key":{"TraitDecl":10},"value":[{"Ident":["ZeroablePrimitive",0]}]},{"key":{"Fun":205},"value":[{"Ident":["next_back",0]}]},{"key":{"TraitDecl":32},"value":[{"Ident":["IndexMut",0]}]},{"key":{"Type":35},"value":[{"Ident":["Skip",0]}]},{"key":{"Fun":46},"value":[{"Ident":["h",0]}]},{"key":{"Global":5},"value":[{"Ident":["FORS_ROOTS",0]}]},{"key":{"Fun":178},"value":[{"Ident":["FORS_ROOTS",0]}]},{"key":{"Type":19},"value":[{"Ident":["Result",0]}]},{"key":{"Type":5},"value":[{"Ident":["Range",0]}]},{"key":{"Fun":82},"value":[{"Ident":["fuse",0]}]},{"key":{"TraitDecl":7},"value":[{"Ident":["Copy",0]}]},{"key":{"Fun":269},"value":[{"Ident":["assert_fields_are_eq",0]}]},{"key":{"Fun":207},"value":[{"Ident":["nth_back",0]}]},{"key":{"Type":40},"value":[{"Ident":["MapWindows",0]}]},{"key":{"Fun":212},"value":[{"Ident":["is_empty",0]}]},{"key":{"Type":44},"value":[{"Ident":["Rev",0]}]},{"key":{"Fun":258},"value":[{"Ident":["set_chain_address",0]}]},{"key":{"Fun":120},"value":[{"Ident":["partial_cmp_by",0]}]},{"key":{"Fun":83},"value":[{"Ident":["inspect",0]}]},{"key":{"Type":42},"value":[{"Ident":["Inspect",0]}]},{"key":{"Type":14},"value":[{"Ident":["RangeTo",0]}]},{"key":{"Type":34},"value":[{"Ident":["MapWhile",0]}]},{"key":{"TraitDecl":1},"value":[{"Ident":["Index",0]}]},{"key":{"TraitDecl":21},"value":[{"Ident":["Sum",0]}]},{"key":{"TraitDecl":0},"value":[{"Ident":["Destruct",0]}]},{"key":{"Fun":7},"value":[{"Ident":["set_tree_address",0]}]},{"key":{"TraitDecl":19},"value":[{"Ident":["ExactSizeIterator",0]}]},{"key":{"Fun":130},"value":[{"Ident":["is_sorted_by_key",0]}]},{"key":{"Type":30},"value":[{"Ident":["Enumerate",0]}]},{"key":{"Fun":10},"value":[{"Ident":["fors_pk_from_sig_free",0]}]},{"key":{"TraitDecl":2},"value":[{"Ident":["SliceIndex",0]}]},{"key":{"Fun":101},"value":[{"Ident":["position",0]}]},{"key":{"Fun":91},"value":[{"Ident":["try_fold",0]}]}],"type_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["SlhDsaSig",0]}],"span":{"data":{"file_id":2,"beg":{"line":19,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct SlhDsaSig<\n const A: usize,\n const D: usize,\n const HP: usize,\n const K: usize,\n const LEN: usize,\n const N: usize,\n> {\n pub(crate) randomness: [u8; N],\n pub(crate) fors_sig: ForsSig,\n pub(crate) ht_sig: HtSig,\n}","attr_info":{"attributes":[{"DocComment":" Fig 17 on page 34"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"D","ty":{"Deduplicated":390}},{"index":2,"name":"HP","ty":{"Deduplicated":390}},{"index":3,"name":"K","ty":{"Deduplicated":390}},{"index":4,"name":"LEN","ty":{"Deduplicated":390}},{"index":5,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":27,"col":4},"end":{"line":27,"col":34}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"randomness","ty":{"HashConsedValue":[8130,{"Array":[{"HashConsedValue":[293,{"Literal":{"UInt":"U8"}}]},{"kind":{"Var":{"Free":5}},"ty":{"Deduplicated":390}}]}]}},{"span":{"data":{"file_id":2,"beg":{"line":28,"col":4},"end":{"line":28,"col":41}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"fors_sig","ty":{"HashConsedValue":[8131,{"Adt":{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":5}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}},{"span":{"data":{"file_id":2,"beg":{"line":29,"col":4},"end":{"line":29,"col":43}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"ht_sig","ty":{"HashConsedValue":[8132,{"Adt":{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":4}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":5}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}}]},"layout":[],"ptr_metadata":"None"},{"def_id":1,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["SlhPublicKey",0]}],"span":{"data":{"file_id":2,"beg":{"line":35,"col":0},"end":{"line":38,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct SlhPublicKey {\n pub(crate) pk_seed: [u8; N],\n pub(crate) pk_root: [u8; N],\n}","attr_info":{"attributes":[{"DocComment":" Fig 16 on page 33"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":36,"col":4},"end":{"line":36,"col":31}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"pk_seed","ty":{"HashConsedValue":[8133,{"Array":[{"Deduplicated":293},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]}},{"span":{"data":{"file_id":2,"beg":{"line":37,"col":4},"end":{"line":37,"col":31}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"pk_root","ty":{"Deduplicated":8133}}]},"layout":[],"ptr_metadata":"None"},{"def_id":2,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsSig",0]}],"span":{"data":{"file_id":2,"beg":{"line":53,"col":0},"end":{"line":56,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct ForsSig {\n pub(crate) private_key_value: [[u8; N]; K],\n pub(crate) auth: [Auth; K],\n}","attr_info":{"attributes":[{"DocComment":" Fig 14 on page 29"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"K","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":54,"col":4},"end":{"line":54,"col":46}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"private_key_value","ty":{"HashConsedValue":[8135,{"Array":[{"HashConsedValue":[8134,{"Array":[{"Deduplicated":293},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}]}]},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}]}]}},{"span":{"data":{"file_id":2,"beg":{"line":55,"col":4},"end":{"line":55,"col":36}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"auth","ty":{"HashConsedValue":[8137,{"Array":[{"HashConsedValue":[8136,{"Adt":{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}]}]}}]},"layout":[],"ptr_metadata":"None"},{"def_id":3,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["HtSig",0]}],"span":{"data":{"file_id":2,"beg":{"line":73,"col":0},"end":{"line":75,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct HtSig {\n pub(crate) xmss_sigs: [XmssSig; D],\n}","attr_info":{"attributes":[{"DocComment":" Fig 13 on page 26"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"D","ty":{"Deduplicated":390}},{"index":1,"name":"HP","ty":{"Deduplicated":390}},{"index":2,"name":"LEN","ty":{"Deduplicated":390}},{"index":3,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":74,"col":4},"end":{"line":74,"col":50}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"xmss_sigs","ty":{"HashConsedValue":[8139,{"Array":[{"HashConsedValue":[8138,{"Adt":{"id":{"Adt":8},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]}}]},"layout":[],"ptr_metadata":"None"},{"def_id":4,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Adrs",0]}],"span":{"data":{"file_id":2,"beg":{"line":116,"col":0},"end":{"line":132,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct Adrs {\n pub(crate) f0: [u8; 4],\n // layer address\n pub(crate) f1: [u8; 4],\n // tree address\n pub(crate) f2: [u8; 4],\n // tree address\n pub(crate) f3: [u8; 4],\n // tree address\n pub(crate) f4: [u8; 4],\n // type\n pub(crate) f5: [u8; 4],\n // key pair address OR padding\n pub(crate) f6: [u8; 4],\n // chain address OR padding OR tree height\n pub(crate) f7: [u8; 4], // hash address OR padding OR tree index OR hash address = 0\n}","attr_info":{"attributes":[{"DocComment":" Straddling the line between struct, enum and union..."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f0","ty":{"HashConsedValue":[1268,{"Array":[{"Deduplicated":293},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}]}]}},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f1","ty":{"Deduplicated":1268}},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f2","ty":{"Deduplicated":1268}},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f3","ty":{"Deduplicated":1268}},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f4","ty":{"Deduplicated":1268}},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f5","ty":{"Deduplicated":1268}},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f6","ty":{"Deduplicated":1268}},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"f7","ty":{"Deduplicated":1268}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":32,"align":32,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,4,8,12,16,20,24,28],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":{"Align":32},"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":5,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["Range",0]}],"span":{"data":{"file_id":3,"beg":{"line":82,"col":0},"end":{"line":82,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A (half-open) range bounded inclusively below and exclusively above"},{"DocComment":" (`start..end`)."},{"DocComment":""},{"DocComment":" The range `start..end` contains all values with `start <= x < end`."},{"DocComment":" It is empty if `start >= end`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `start..end` syntax is a `Range`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!((3..5), std::ops::Range { start: 3, end: 5 });"},{"DocComment":" assert_eq!(3 + 4 + 5, (3..6).sum());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]);"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]); // This is a `Range`"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Range"},"generics":{"regions":[],"types":[{"index":0,"name":"Idx"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":3,"beg":{"line":85,"col":4},"end":{"line":85,"col":18}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The lower bound of the range (inclusive)."}],"inline":null,"rename":null,"public":true},"name":"start","ty":{"HashConsedValue":[8140,{"TypeVar":{"Free":0}}]}},{"span":{"data":{"file_id":3,"beg":{"line":88,"col":4},"end":{"line":88,"col":16}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The upper bound of the range (exclusive)."}],"inline":null,"rename":null,"public":true},"name":"end","ty":{"Deduplicated":8140}}]},"layout":[],"ptr_metadata":"None"},{"def_id":6,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsPk",0]}],"span":{"data":{"file_id":2,"beg":{"line":60,"col":0},"end":{"line":62,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct ForsPk {\n pub(crate) key: [u8; N],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":61,"col":4},"end":{"line":61,"col":27}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"key","ty":{"Deduplicated":8133}}]},"layout":[],"ptr_metadata":"None"},{"def_id":7,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Auth",0]}],"span":{"data":{"file_id":2,"beg":{"line":66,"col":0},"end":{"line":68,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct Auth {\n pub(crate) tree: [[u8; N]; A],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"tree","ty":{"HashConsedValue":[8142,{"Array":[{"HashConsedValue":[8141,{"Array":[{"Deduplicated":293},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}]}]},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]}}]},"layout":[],"ptr_metadata":"None"},{"def_id":8,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["XmssSig",0]}],"span":{"data":{"file_id":2,"beg":{"line":91,"col":0},"end":{"line":94,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct XmssSig {\n pub(crate) sig_wots: WotsSig,\n pub(crate) auth: [[u8; N]; HP],\n}","attr_info":{"attributes":[{"DocComment":" Fig 11 on page 22"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"sig_wots","ty":{"HashConsedValue":[8143,{"Adt":{"id":{"Adt":16},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"auth","ty":{"HashConsedValue":[8144,{"Array":[{"Deduplicated":8134},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]}}]},"layout":[],"ptr_metadata":"None"},null,null,{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["option",0]},{"Ident":["Option",0]}],"span":{"data":{"file_id":15,"beg":{"line":597,"col":0},"end":{"line":597,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `Option` type. See [the module level documentation](self) for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Option"},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":15,"beg":{"line":601,"col":4},"end":{"line":601,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" No value."}],"inline":null,"rename":null,"public":true},"name":"None","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":15,"beg":{"line":605,"col":4},"end":{"line":605,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Some value of type `T`."}],"inline":null,"rename":null,"public":true},"name":"Some","fields":[{"span":{"data":{"file_id":15,"beg":{"line":605,"col":55},"end":{"line":605,"col":56}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":8140}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},{"def_id":12,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["AssertKind",0]}],"span":{"data":{"file_id":17,"beg":{"line":373,"col":0},"end":{"line":373,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":17,"beg":{"line":374,"col":4},"end":{"line":374,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Eq","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":17,"beg":{"line":375,"col":4},"end":{"line":375,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Ne","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}},{"id":2,"span":{"data":{"file_id":17,"beg":{"line":376,"col":4},"end":{"line":376,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":"Match","fields":[],"discriminant":{"Scalar":{"Signed":["Isize","2"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Unsigned":"U8"},"children":[[{"start":{"Unsigned":["U8","0"]},"end":{"Unsigned":["U8","0"]}},{"Known":0}],[{"start":{"Unsigned":["U8","1"]},"end":{"Unsigned":["U8","1"]}},{"Known":1}],[{"start":{"Unsigned":["U8","2"]},"end":{"Unsigned":["U8","2"]}},{"Known":2}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","1"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Unsigned":["U8","2"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["fmt",0]},{"Ident":["Arguments",0]}],"span":{"data":{"file_id":18,"beg":{"line":716,"col":0},"end":{"line":716,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This structure represents a safely precompiled version of a format string"},{"DocComment":" and its arguments. This cannot be generated at runtime because it cannot"},{"DocComment":" safely be done, so no constructors are given and the fields are private"},{"DocComment":" to prevent modification."},{"DocComment":""},{"DocComment":" The [`format_args!`] macro will safely create an instance of this structure."},{"DocComment":" The macro validates the format string at compile-time so usage of the"},{"DocComment":" [`write()`] and [`format()`] functions can be safely performed."},{"DocComment":""},{"DocComment":" You can use the `Arguments<'a>` that [`format_args!`] returns in `Debug`"},{"DocComment":" and `Display` contexts as seen below. The example also shows that `Debug`"},{"DocComment":" and `Display` format to the same thing: the interpolated format string"},{"DocComment":" in `format_args!`."},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let debug = format!(\"{:?}\", format_args!(\"{} foo {:?}\", 1, 2));"},{"DocComment":" let display = format!(\"{}\", format_args!(\"{} foo {:?}\", 1, 2));"},{"DocComment":" assert_eq!(\"1 foo 2\", display);"},{"DocComment":" assert_eq!(display, debug);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`format()`]: ../../std/fmt/fn.format.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"format_arguments"},"generics":{"regions":[{"index":0,"name":"'a","mutability":"Shared"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":16,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0,8],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":false}}}],"ptr_metadata":"None"},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeTo",0]}],"span":{"data":{"file_id":3,"beg":{"line":281,"col":0},"end":{"line":281,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A range only bounded exclusively above (`..end`)."},{"DocComment":""},{"DocComment":" The `RangeTo` `..end` contains all values with `x < end`."},{"DocComment":" It cannot serve as an [`Iterator`] because it doesn't have a starting point."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `..end` syntax is a `RangeTo`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!((..5), std::ops::RangeTo { end: 5 });"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It does not have an [`IntoIterator`] implementation, so you can't use it in"},{"DocComment":" a `for` loop directly. This won't compile:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0277"},{"DocComment":" // error[E0277]: the trait bound `std::ops::RangeTo<{integer}>:"},{"DocComment":" // std::iter::Iterator` is not satisfied"},{"DocComment":" for i in ..5 {"},{"DocComment":" // ..."},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When used as a [slicing index], `RangeTo` produces a slice of all array"},{"DocComment":" elements before the index indicated by `end`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]); // This is a `RangeTo`"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]);"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [slicing index]: crate::slice::SliceIndex"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"RangeTo"},"generics":{"regions":[],"types":[{"index":0,"name":"Idx"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":3,"beg":{"line":284,"col":4},"end":{"line":284,"col":16}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The upper bound of the range (exclusive)."}],"inline":null,"rename":null,"public":true},"name":"end","ty":{"Deduplicated":8140}}]},"layout":[],"ptr_metadata":"None"},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["range",0]},{"Ident":["RangeFrom",0]}],"span":{"data":{"file_id":3,"beg":{"line":197,"col":0},"end":{"line":197,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A range only bounded inclusively below (`start..`)."},{"DocComment":""},{"DocComment":" The `RangeFrom` `start..` contains all values with `x >= start`."},{"DocComment":""},{"DocComment":" *Note*: Overflow in the [`Iterator`] implementation (when the contained"},{"DocComment":" data type reaches its numerical limit) is allowed to panic, wrap, or"},{"DocComment":" saturate. This behavior is defined by the implementation of the [`Step`]"},{"DocComment":" trait. For primitive integers, this follows the normal rules, and respects"},{"DocComment":" the overflow checks profile (panic in debug, wrap in release). Note also"},{"DocComment":" that overflow happens earlier than you might assume: the overflow happens"},{"DocComment":" in the call to `next` that yields the maximum value, as the range must be"},{"DocComment":" set to a state to yield the next value."},{"DocComment":""},{"DocComment":" [`Step`]: crate::iter::Step"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The `start..` syntax is a `RangeFrom`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" assert_eq!((2..), std::ops::RangeFrom { start: 2 });"},{"DocComment":" assert_eq!(2 + 3 + 4, (2..).take(3).sum());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let arr = [0, 1, 2, 3, 4];"},{"DocComment":" assert_eq!(arr[ .. ], [0, 1, 2, 3, 4]);"},{"DocComment":" assert_eq!(arr[ .. 3], [0, 1, 2 ]);"},{"DocComment":" assert_eq!(arr[ ..=3], [0, 1, 2, 3 ]);"},{"DocComment":" assert_eq!(arr[1.. ], [ 1, 2, 3, 4]); // This is a `RangeFrom`"},{"DocComment":" assert_eq!(arr[1.. 3], [ 1, 2 ]);"},{"DocComment":" assert_eq!(arr[1..=3], [ 1, 2, 3 ]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"RangeFrom"},"generics":{"regions":[],"types":[{"index":0,"name":"Idx"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":3,"beg":{"line":200,"col":4},"end":{"line":200,"col":18}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" The lower bound of the range (inclusive)."}],"inline":null,"rename":null,"public":true},"name":"start","ty":{"Deduplicated":8140}}]},"layout":[],"ptr_metadata":"None"},{"def_id":16,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsSig",0]}],"span":{"data":{"file_id":2,"beg":{"line":80,"col":0},"end":{"line":82,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct WotsSig {\n pub(crate) data: [[u8; N]; LEN],\n}","attr_info":{"attributes":[{"DocComment":" Fig 10 on page 19"}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":"data","ty":{"Deduplicated":8142}}]},"layout":[],"ptr_metadata":"None"},null,null,{"def_id":19,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["result",0]},{"Ident":["Result",0]}],"span":{"data":{"file_id":29,"beg":{"line":557,"col":0},"end":{"line":557,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" `Result` is a type that represents either success ([`Ok`]) or failure ([`Err`])."},{"DocComment":""},{"DocComment":" See the [module documentation](self) for details."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Result"},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"E"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":29,"beg":{"line":561,"col":4},"end":{"line":561,"col":6}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Contains the success value"}],"inline":null,"rename":null,"public":true},"name":"Ok","fields":[{"span":{"data":{"file_id":29,"beg":{"line":561,"col":53},"end":{"line":561,"col":54}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":8140}}],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":29,"beg":{"line":566,"col":4},"end":{"line":566,"col":7}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Contains the error value"}],"inline":null,"rename":null,"public":true},"name":"Err","fields":[{"span":{"data":{"file_id":29,"beg":{"line":566,"col":54},"end":{"line":566,"col":55}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"HashConsedValue":[8145,{"TypeVar":{"Free":1}}]}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},{"def_id":20,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["iter",0]},{"Ident":["IntoIter",0]}],"span":{"data":{"file_id":30,"beg":{"line":20,"col":0},"end":{"line":20,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A by-value [array] iterator."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ArrayIntoIter"},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["NonZero",0]}],"span":{"data":{"file_id":31,"beg":{"line":128,"col":0},"end":{"line":128,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A value that is known not to equal zero."},{"DocComment":""},{"DocComment":" This enables some memory layout optimization."},{"DocComment":" For example, `Option>` is the same size as `u32`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use core::{num::NonZero};"},{"DocComment":""},{"DocComment":" assert_eq!(size_of::>>(), size_of::());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Layout"},{"DocComment":""},{"DocComment":" `NonZero` is guaranteed to have the same layout and bit validity as `T`"},{"DocComment":" with the exception that the all-zero bit pattern is invalid."},{"DocComment":" `Option>` is guaranteed to be compatible with `T`, including in"},{"DocComment":" FFI."},{"DocComment":""},{"DocComment":" Thanks to the [null pointer optimization], `NonZero` and"},{"DocComment":" `Option>` are guaranteed to have the same size and alignment:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::num::NonZero;"},{"DocComment":""},{"DocComment":" assert_eq!(size_of::>(), size_of::>>());"},{"DocComment":" assert_eq!(align_of::>(), align_of::>>());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [null pointer optimization]: crate::option#representation"},{"DocComment":""},{"DocComment":" # Note on generic usage"},{"DocComment":""},{"DocComment":" `NonZero` can only be used with some standard library primitive types"},{"DocComment":" (such as `u8`, `i32`, and etc.). The type parameter `T` must implement the"},{"DocComment":" internal trait [`ZeroablePrimitive`], which is currently permanently unstable"},{"DocComment":" and cannot be implemented by users. Therefore, you cannot use `NonZero`"},{"DocComment":" with your own types, nor can you implement traits for all `NonZero`,"},{"DocComment":" only for concrete types."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"NonZero"},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_NonZeroInner"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["step_by",0]},{"Ident":["StepBy",0]}],"span":{"data":{"file_id":32,"beg":{"line":16,"col":0},"end":{"line":16,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator for stepping iterators by a custom amount."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`step_by`] method on [`Iterator`]. See"},{"DocComment":" its documentation for more."},{"DocComment":""},{"DocComment":" [`step_by`]: Iterator::step_by"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":23,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["chain",0]},{"Ident":["Chain",0]}],"span":{"data":{"file_id":34,"beg":{"line":23,"col":0},"end":{"line":23,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that links two iterators together, in a chain."},{"DocComment":""},{"DocComment":" This `struct` is created by [`chain`] or [`Iterator::chain`]. See their"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::iter::Chain;"},{"DocComment":" use std::slice::Iter;"},{"DocComment":""},{"DocComment":" let a1 = [1, 2, 3];"},{"DocComment":" let a2 = [4, 5, 6];"},{"DocComment":" let iter: Chain, Iter<'_, _>> = a1.iter().chain(a2.iter());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"A"},{"index":1,"name":"B"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":24,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["Zip",0]}],"span":{"data":{"file_id":35,"beg":{"line":13,"col":0},"end":{"line":13,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that iterates two other iterators simultaneously."},{"DocComment":""},{"DocComment":" This `struct` is created by [`zip`] or [`Iterator::zip`]."},{"DocComment":" See their documentation for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"A"},{"index":1,"name":"B"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":25,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["Intersperse",0]}],"span":{"data":{"file_id":37,"beg":{"line":9,"col":0},"end":{"line":9,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator adapter that places a separator between all elements."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::intersperse`]. See its documentation"},{"DocComment":" for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":26,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["intersperse",0]},{"Ident":["IntersperseWith",0]}],"span":{"data":{"file_id":37,"beg":{"line":83,"col":0},"end":{"line":83,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator adapter that places a separator between all elements."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::intersperse_with`]. See its"},{"DocComment":" documentation for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"G"},{"index":2,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":27,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map",0]},{"Ident":["Map",0]}],"span":{"data":{"file_id":39,"beg":{"line":61,"col":0},"end":{"line":61,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that maps the values of `iter` with `f`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`map`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`map`]: Iterator::map"},{"DocComment":" [`Iterator`]: trait.Iterator.html"},{"DocComment":""},{"DocComment":" # Notes about side effects"},{"DocComment":""},{"DocComment":" The [`map`] iterator implements [`DoubleEndedIterator`], meaning that"},{"DocComment":" you can also [`map`] backwards:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let v: Vec = [1, 2, 3].into_iter().map(|x| x + 1).rev().collect();"},{"DocComment":""},{"DocComment":" assert_eq!(v, [4, 3, 2]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`DoubleEndedIterator`]: trait.DoubleEndedIterator.html"},{"DocComment":""},{"DocComment":" But if your closure has state, iterating backwards may act in a way you do"},{"DocComment":" not expect. Let's go through an example. First, in the forward direction:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let mut c = 0;"},{"DocComment":""},{"DocComment":" for pair in ['a', 'b', 'c'].into_iter()"},{"DocComment":" .map(|letter| { c += 1; (letter, c) }) {"},{"DocComment":" println!(\"{pair:?}\");"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This will print `('a', 1), ('b', 2), ('c', 3)`."},{"DocComment":""},{"DocComment":" Now consider this twist where we add a call to `rev`. This version will"},{"DocComment":" print `('c', 1), ('b', 2), ('a', 3)`. Note that the letters are reversed,"},{"DocComment":" but the values of the counter still go in order. This is because `map()` is"},{"DocComment":" still being called lazily on each item, but we are popping items off the"},{"DocComment":" back of the vector now, instead of shifting them from the front."},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" let mut c = 0;"},{"DocComment":""},{"DocComment":" for pair in ['a', 'b', 'c'].into_iter()"},{"DocComment":" .map(|letter| { c += 1; (letter, c) })"},{"DocComment":" .rev() {"},{"DocComment":" println!(\"{pair:?}\");"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":28,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter",0]},{"Ident":["Filter",0]}],"span":{"data":{"file_id":40,"beg":{"line":21,"col":0},"end":{"line":21,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that filters the elements of `iter` with `predicate`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`filter`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`filter`]: Iterator::filter"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":29,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["filter_map",0]},{"Ident":["FilterMap",0]}],"span":{"data":{"file_id":41,"beg":{"line":18,"col":0},"end":{"line":18,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that uses `f` to both filter and map elements from `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`filter_map`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`filter_map`]: Iterator::filter_map"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":30,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["enumerate",0]},{"Ident":["Enumerate",0]}],"span":{"data":{"file_id":42,"beg":{"line":18,"col":0},"end":{"line":18,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that yields the current count and the element during iteration."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`enumerate`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`enumerate`]: Iterator::enumerate"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Enumerate"},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":31,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["peekable",0]},{"Ident":["Peekable",0]}],"span":{"data":{"file_id":43,"beg":{"line":17,"col":0},"end":{"line":17,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator with a `peek()` that returns an optional reference to the next"},{"DocComment":" element."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`peekable`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`peekable`]: Iterator::peekable"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"IterPeekable"},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":32,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip_while",0]},{"Ident":["SkipWhile",0]}],"span":{"data":{"file_id":44,"beg":{"line":17,"col":0},"end":{"line":17,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that rejects elements while `predicate` returns `true`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`skip_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`skip_while`]: Iterator::skip_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":33,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take_while",0]},{"Ident":["TakeWhile",0]}],"span":{"data":{"file_id":45,"beg":{"line":17,"col":0},"end":{"line":17,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only accepts elements while `predicate` returns `true`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`take_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`take_while`]: Iterator::take_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":34,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_while",0]},{"Ident":["MapWhile",0]}],"span":{"data":{"file_id":46,"beg":{"line":17,"col":0},"end":{"line":17,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only accepts elements while `predicate` returns `Some(_)`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`map_while`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`map_while`]: Iterator::map_while"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"P"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":35,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["skip",0]},{"Ident":["Skip",0]}],"span":{"data":{"file_id":47,"beg":{"line":21,"col":0},"end":{"line":21,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that skips over `n` elements of `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`skip`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`skip`]: Iterator::skip"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":36,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["take",0]},{"Ident":["Take",0]}],"span":{"data":{"file_id":48,"beg":{"line":17,"col":0},"end":{"line":17,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that only iterates over the first `n` iterations of `iter`."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`take`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`take`]: Iterator::take"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":37,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["scan",0]},{"Ident":["Scan",0]}],"span":{"data":{"file_id":49,"beg":{"line":17,"col":0},"end":{"line":17,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator to maintain state while iterating another iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`scan`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`scan`]: Iterator::scan"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"St"},{"index":2,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":38,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["FlatMap",0]}],"span":{"data":{"file_id":50,"beg":{"line":17,"col":0},"end":{"line":17,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that maps each element to an iterator, and yields the elements"},{"DocComment":" of the produced iterators."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::flat_map`]. See its documentation"},{"DocComment":" for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"U"},{"index":2,"name":"F"},{"index":3,"name":"Clause0_Item"},{"index":4,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":39,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["flatten",0]},{"Ident":["Flatten",0]}],"span":{"data":{"file_id":50,"beg":{"line":184,"col":0},"end":{"line":184,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that flattens one level of nesting in an iterator of things"},{"DocComment":" that can be turned into iterators."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`flatten`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`flatten`]: Iterator::flatten()"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"},{"index":2,"name":"Clause1_Item"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":40,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["map_windows",0]},{"Ident":["MapWindows",0]}],"span":{"data":{"file_id":51,"beg":{"line":11,"col":0},"end":{"line":11,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator over the mapped windows of another iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`Iterator::map_windows`]. See its"},{"DocComment":" documentation for more information."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"},{"index":2,"name":"Clause0_Item"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":41,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["fuse",0]},{"Ident":["Fuse",0]}],"span":{"data":{"file_id":52,"beg":{"line":17,"col":0},"end":{"line":17,"col":18}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that yields `None` forever after the underlying iterator"},{"DocComment":" yields `None` once."},{"DocComment":""},{"DocComment":" This `struct` is created by [`Iterator::fuse`]. See its documentation"},{"DocComment":" for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":42,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["inspect",0]},{"Ident":["Inspect",0]}],"span":{"data":{"file_id":53,"beg":{"line":18,"col":0},"end":{"line":18,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that calls a function with a reference to each element before"},{"DocComment":" yielding it."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`inspect`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`inspect`]: Iterator::inspect"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"F"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":43,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ordering",0]}],"span":{"data":{"file_id":27,"beg":{"line":405,"col":0},"end":{"line":405,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An `Ordering` is the result of a comparison between two values."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(1.cmp(&2), Ordering::Less);"},{"DocComment":""},{"DocComment":" assert_eq!(1.cmp(&1), Ordering::Equal);"},{"DocComment":""},{"DocComment":" assert_eq!(2.cmp(&1), Ordering::Greater);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Ordering"},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":27,"beg":{"line":408,"col":4},"end":{"line":408,"col":8}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is less than another."}],"inline":null,"rename":null,"public":true},"name":"Less","fields":[],"discriminant":{"Scalar":{"Signed":["I8","-1"]}}},{"id":1,"span":{"data":{"file_id":27,"beg":{"line":411,"col":4},"end":{"line":411,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is equal to another."}],"inline":null,"rename":null,"public":true},"name":"Equal","fields":[],"discriminant":{"Scalar":{"Signed":["I8","0"]}}},{"id":2,"span":{"data":{"file_id":27,"beg":{"line":414,"col":4},"end":{"line":414,"col":11}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" An ordering where a compared value is greater than another."}],"inline":null,"rename":null,"public":true},"name":"Greater","fields":[],"discriminant":{"Scalar":{"Signed":["I8","1"]}}}]},"layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":1,"align":1,"discriminator":{"Branch":{"offset":0,"int_ty":{"Signed":"I8"},"children":[[{"start":{"Signed":["I8","-1"]},"end":{"Signed":["I8","-1"]}},{"Known":0}],[{"start":{"Signed":["I8","0"]},"end":{"Signed":["I8","0"]}},{"Known":1}],[{"start":{"Signed":["I8","1"]},"end":{"Signed":["I8","1"]}},{"Known":2}]],"fallback":"Invalid"}},"uninhabited":false,"variant_layouts":[{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","-1"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","0"]}]]},{"field_offsets":[],"uninhabited":false,"tagger":[[0,{"Signed":["I8","1"]}]]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":false,"explicit_discr_type":true}}}],"ptr_metadata":"None"},{"def_id":44,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["rev",0]},{"Ident":["Rev",0]}],"span":{"data":{"file_id":57,"beg":{"line":15,"col":0},"end":{"line":15,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A double-ended iterator with the direction inverted."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`rev`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`rev`]: Iterator::rev"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":45,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["copied",0]},{"Ident":["Copied",0]}],"span":{"data":{"file_id":58,"beg":{"line":19,"col":0},"end":{"line":19,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that copies the elements of an underlying iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`copied`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`copied`]: Iterator::copied"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":46,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cloned",0]},{"Ident":["Cloned",0]}],"span":{"data":{"file_id":59,"beg":{"line":18,"col":0},"end":{"line":18,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that clones the elements of an underlying iterator."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`cloned`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`cloned`]: Iterator::cloned"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":47,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["cycle",0]},{"Ident":["Cycle",0]}],"span":{"data":{"file_id":60,"beg":{"line":15,"col":0},"end":{"line":15,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that repeats endlessly."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`cycle`] method on [`Iterator`]. See its"},{"DocComment":" documentation for more."},{"DocComment":""},{"DocComment":" [`cycle`]: Iterator::cycle"},{"DocComment":" [`Iterator`]: trait.Iterator.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":48,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["array_chunks",0]},{"Ident":["ArrayChunks",0]}],"span":{"data":{"file_id":61,"beg":{"line":19,"col":0},"end":{"line":19,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator over `N` elements of the iterator at a time."},{"DocComment":""},{"DocComment":" The chunks do not overlap. If `N` does not divide the length of the"},{"DocComment":" iterator, then the last up to `N-1` elements will be omitted."},{"DocComment":""},{"DocComment":" This `struct` is created by the [`array_chunks`][Iterator::array_chunks]"},{"DocComment":" method on [`Iterator`]. See its documentation for more."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},{"def_id":49,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsPk",0]}],"span":{"data":{"file_id":2,"beg":{"line":86,"col":0},"end":{"line":86,"col":61}},"generated_from_span":null},"source_text":"pub(crate) struct WotsPk(pub(crate) [u8; N]);","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Struct":[{"span":{"data":{"file_id":2,"beg":{"line":86,"col":41},"end":{"line":86,"col":59}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"name":null,"ty":{"Deduplicated":8133}}]},"layout":[],"ptr_metadata":"None"},null,null,{"def_id":52,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["pin",0]},{"Ident":["Pin",0]}],"span":{"data":{"file_id":64,"beg":{"line":1092,"col":0},"end":{"line":1092,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A pointer which pins its pointee in place."},{"DocComment":""},{"DocComment":" [`Pin`] is a wrapper around some kind of pointer `Ptr` which makes that pointer \"pin\" its"},{"DocComment":" pointee value in place, thus preventing the value referenced by that pointer from being moved"},{"DocComment":" or otherwise invalidated at that place in memory unless it implements [`Unpin`]."},{"DocComment":""},{"DocComment":" *See the [`pin` module] documentation for a more thorough exploration of pinning.*"},{"DocComment":""},{"DocComment":" ## Pinning values with [`Pin`]"},{"DocComment":""},{"DocComment":" In order to pin a value, we wrap a *pointer to that value* (of some type `Ptr`) in a"},{"DocComment":" [`Pin`]. [`Pin`] can wrap any pointer type, forming a promise that the **pointee**"},{"DocComment":" will not be *moved* or [otherwise invalidated][subtle-details]. If the pointee value's type"},{"DocComment":" implements [`Unpin`], we are free to disregard these requirements entirely and can wrap any"},{"DocComment":" pointer to that value in [`Pin`] directly via [`Pin::new`]. If the pointee value's type does"},{"DocComment":" not implement [`Unpin`], then Rust will not let us use the [`Pin::new`] function directly and"},{"DocComment":" we'll need to construct a [`Pin`]-wrapped pointer in one of the more specialized manners"},{"DocComment":" discussed below."},{"DocComment":""},{"DocComment":" We call such a [`Pin`]-wrapped pointer a **pinning pointer** (or pinning ref, or pinning"},{"DocComment":" [`Box`], etc.) because its existence is the thing that is pinning the underlying pointee in"},{"DocComment":" place: it is the metaphorical \"pin\" securing the data in place on the pinboard (in memory)."},{"DocComment":""},{"DocComment":" It is important to stress that the thing in the [`Pin`] is not the value which we want to pin"},{"DocComment":" itself, but rather a pointer to that value! A [`Pin`] does not pin the `Ptr` but rather"},{"DocComment":" the pointer's ***pointee** value*."},{"DocComment":""},{"DocComment":" The most common set of types which require pinning related guarantees for soundness are the"},{"DocComment":" compiler-generated state machines that implement [`Future`] for the return value of"},{"DocComment":" `async fn`s. These compiler-generated [`Future`]s may contain self-referential pointers, one"},{"DocComment":" of the most common use cases for [`Pin`]. More details on this point are provided in the"},{"DocComment":" [`pin` module] docs, but suffice it to say they require the guarantees provided by pinning to"},{"DocComment":" be implemented soundly."},{"DocComment":""},{"DocComment":" This requirement for the implementation of `async fn`s means that the [`Future`] trait"},{"DocComment":" requires all calls to [`poll`] to use a self: [Pin]\\<&mut Self> parameter instead"},{"DocComment":" of the usual `&mut self`. Therefore, when manually polling a future, you will need to pin it"},{"DocComment":" first."},{"DocComment":""},{"DocComment":" You may notice that `async fn`-sourced [`Future`]s are only a small percentage of all"},{"DocComment":" [`Future`]s that exist, yet we had to modify the signature of [`poll`] for all [`Future`]s"},{"DocComment":" to accommodate them. This is unfortunate, but there is a way that the language attempts to"},{"DocComment":" alleviate the extra friction that this API choice incurs: the [`Unpin`] trait."},{"DocComment":""},{"DocComment":" The vast majority of Rust types have no reason to ever care about being pinned. These"},{"DocComment":" types implement the [`Unpin`] trait, which entirely opts all values of that type out of"},{"DocComment":" pinning-related guarantees. For values of these types, pinning a value by pointing to it with a"},{"DocComment":" [`Pin`] will have no actual effect."},{"DocComment":""},{"DocComment":" The reason this distinction exists is exactly to allow APIs like [`Future::poll`] to take a"},{"DocComment":" [`Pin`] as an argument for all types while only forcing [`Future`] types that actually"},{"DocComment":" care about pinning guarantees pay the ergonomics cost. For the majority of [`Future`] types"},{"DocComment":" that don't have a reason to care about being pinned and therefore implement [`Unpin`], the"},{"DocComment":" [Pin]\\<&mut Self> will act exactly like a regular `&mut Self`, allowing direct"},{"DocComment":" access to the underlying value. Only types that *don't* implement [`Unpin`] will be restricted."},{"DocComment":""},{"DocComment":" ### Pinning a value of a type that implements [`Unpin`]"},{"DocComment":""},{"DocComment":" If the type of the value you need to \"pin\" implements [`Unpin`], you can trivially wrap any"},{"DocComment":" pointer to that value in a [`Pin`] by calling [`Pin::new`]."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::pin::Pin;"},{"DocComment":""},{"DocComment":" // Create a value of a type that implements `Unpin`"},{"DocComment":" let mut unpin_future = std::future::ready(5);"},{"DocComment":""},{"DocComment":" // Pin it by creating a pinning mutable reference to it (ready to be `poll`ed!)"},{"DocComment":" let my_pinned_unpin_future: Pin<&mut _> = Pin::new(&mut unpin_future);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ### Pinning a value inside a [`Box`]"},{"DocComment":""},{"DocComment":" The simplest and most flexible way to pin a value that does not implement [`Unpin`] is to put"},{"DocComment":" that value inside a [`Box`] and then turn that [`Box`] into a \"pinning [`Box`]\" by wrapping it"},{"DocComment":" in a [`Pin`]. You can do both of these in a single step using [`Box::pin`]. Let's see an"},{"DocComment":" example of using this flow to pin a [`Future`] returned from calling an `async fn`, a common"},{"DocComment":" use case as described above."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::pin::Pin;"},{"DocComment":""},{"DocComment":" async fn add_one(x: u32) -> u32 {"},{"DocComment":" x + 1"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Call the async function to get a future back"},{"DocComment":" let fut = add_one(42);"},{"DocComment":""},{"DocComment":" // Pin the future inside a pinning box"},{"DocComment":" let pinned_fut: Pin> = Box::pin(fut);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If you have a value which is already boxed, for example a [`Box`][Box], you can pin"},{"DocComment":" that value in-place at its current memory address using [`Box::into_pin`]."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::pin::Pin;"},{"DocComment":" use std::future::Future;"},{"DocComment":""},{"DocComment":" async fn add_one(x: u32) -> u32 {"},{"DocComment":" x + 1"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn boxed_add_one(x: u32) -> Box> {"},{"DocComment":" Box::new(add_one(x))"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let boxed_fut = boxed_add_one(42);"},{"DocComment":""},{"DocComment":" // Pin the future inside the existing box"},{"DocComment":" let pinned_fut: Pin> = Box::into_pin(boxed_fut);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" There are similar pinning methods offered on the other standard library smart pointer types"},{"DocComment":" as well, like [`Rc`] and [`Arc`]."},{"DocComment":""},{"DocComment":" ### Pinning a value on the stack using [`pin!`]"},{"DocComment":""},{"DocComment":" There are some situations where it is desirable or even required (for example, in a `#[no_std]`"},{"DocComment":" context where you don't have access to the standard library or allocation in general) to"},{"DocComment":" pin a value which does not implement [`Unpin`] to its location on the stack. Doing so is"},{"DocComment":" possible using the [`pin!`] macro. See its documentation for more."},{"DocComment":""},{"DocComment":" ## Layout and ABI"},{"DocComment":""},{"DocComment":" [`Pin`] is guaranteed to have the same memory layout and ABI[^noalias] as `Ptr`."},{"DocComment":""},{"DocComment":" [^noalias]: There is a bit of nuance here that is still being decided about whether the"},{"DocComment":" aliasing semantics of `Pin<&mut T>` should be different than `&mut T`, but this is true as of"},{"DocComment":" today."},{"DocComment":""},{"DocComment":" [`pin!`]: crate::pin::pin \"pin!\""},{"DocComment":" [`Future`]: crate::future::Future \"Future\""},{"DocComment":" [`poll`]: crate::future::Future::poll \"Future::poll\""},{"DocComment":" [`Future::poll`]: crate::future::Future::poll \"Future::poll\""},{"DocComment":" [`pin` module]: self \"pin module\""},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html \"Rc\""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html \"Arc\""},{"DocComment":" [Box]: ../../std/boxed/struct.Box.html \"Box\""},{"DocComment":" [`Box`]: ../../std/boxed/struct.Box.html \"Box\""},{"DocComment":" [`Box::pin`]: ../../std/boxed/struct.Box.html#method.pin \"Box::pin\""},{"DocComment":" [`Box::into_pin`]: ../../std/boxed/struct.Box.html#method.into_pin \"Box::into_pin\""},{"DocComment":" [subtle-details]: self#subtle-details-and-the-drop-guarantee \"pin subtle details\""},{"DocComment":" [`unsafe`]: ../../std/keyword.unsafe.html \"keyword unsafe\""}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"pin"},"generics":{"regions":[],"types":[{"index":0,"name":"Ptr"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[],"ptr_metadata":"None"},null,{"def_id":54,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Ident":["NonZeroUsizeInner",0]}],"span":{"data":{"file_id":66,"beg":{"line":20,"col":8},"end":{"line":20,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":"Opaque","layout":[{"key":"x86_64-unknown-linux-gnu","value":{"size":8,"align":8,"discriminator":{"Known":0},"uninhabited":false,"variant_layouts":[{"field_offsets":[0],"uninhabited":false,"tagger":[]}],"repr":{"repr_algo":"Rust","align_modif":null,"transparent":true,"explicit_discr_type":false}}}],"ptr_metadata":"None"},null,null,{"def_id":57,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["control_flow",0]},{"Ident":["ControlFlow",0]}],"span":{"data":{"file_id":67,"beg":{"line":89,"col":0},"end":{"line":89,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to tell an operation whether it should exit early or go on as usual."},{"DocComment":""},{"DocComment":" This is used when exposing things (like graph traversals or visitors) where"},{"DocComment":" you want the user to be able to choose whether to exit early."},{"DocComment":" Having the enum makes it clearer -- no more wondering \"wait, what did `false`"},{"DocComment":" mean again?\" -- and allows including a value."},{"DocComment":""},{"DocComment":" Similar to [`Option`] and [`Result`], this enum can be used with the `?` operator"},{"DocComment":" to return immediately if the [`Break`] variant is present or otherwise continue normally"},{"DocComment":" with the value inside the [`Continue`] variant."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Early-exiting from [`Iterator::try_for_each`]:"},{"DocComment":" ```"},{"DocComment":" use std::ops::ControlFlow;"},{"DocComment":""},{"DocComment":" let r = (2..100).try_for_each(|x| {"},{"DocComment":" if 403 % x == 0 {"},{"DocComment":" return ControlFlow::Break(x)"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" });"},{"DocComment":" assert_eq!(r, ControlFlow::Break(13));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" A basic tree traversal:"},{"DocComment":" ```"},{"DocComment":" use std::ops::ControlFlow;"},{"DocComment":""},{"DocComment":" pub struct TreeNode {"},{"DocComment":" value: T,"},{"DocComment":" left: Option>>,"},{"DocComment":" right: Option>>,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl TreeNode {"},{"DocComment":" pub fn traverse_inorder(&self, f: &mut impl FnMut(&T) -> ControlFlow) -> ControlFlow {"},{"DocComment":" if let Some(left) = &self.left {"},{"DocComment":" left.traverse_inorder(f)?;"},{"DocComment":" }"},{"DocComment":" f(&self.value)?;"},{"DocComment":" if let Some(right) = &self.right {"},{"DocComment":" right.traverse_inorder(f)?;"},{"DocComment":" }"},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" }"},{"DocComment":" fn leaf(value: T) -> Option>> {"},{"DocComment":" Some(Box::new(Self { value, left: None, right: None }))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let node = TreeNode {"},{"DocComment":" value: 0,"},{"DocComment":" left: TreeNode::leaf(1),"},{"DocComment":" right: Some(Box::new(TreeNode {"},{"DocComment":" value: -1,"},{"DocComment":" left: TreeNode::leaf(5),"},{"DocComment":" right: TreeNode::leaf(2),"},{"DocComment":" }))"},{"DocComment":" };"},{"DocComment":" let mut sum = 0;"},{"DocComment":""},{"DocComment":" let res = node.traverse_inorder(&mut |val| {"},{"DocComment":" if *val < 0 {"},{"DocComment":" ControlFlow::Break(*val)"},{"DocComment":" } else {"},{"DocComment":" sum += *val;"},{"DocComment":" ControlFlow::Continue(())"},{"DocComment":" }"},{"DocComment":" });"},{"DocComment":" assert_eq!(res, ControlFlow::Break(-1));"},{"DocComment":" assert_eq!(sum, 6);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`Break`]: ControlFlow::Break"},{"DocComment":" [`Continue`]: ControlFlow::Continue"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ControlFlow"},"generics":{"regions":[],"types":[{"index":0,"name":"B"},{"index":1,"name":"C"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"src":"TopLevel","kind":{"Enum":[{"id":0,"span":{"data":{"file_id":67,"beg":{"line":93,"col":4},"end":{"line":93,"col":12}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Move on to the next phase of the operation as normal."}],"inline":null,"rename":null,"public":true},"name":"Continue","fields":[{"span":{"data":{"file_id":67,"beg":{"line":93,"col":13},"end":{"line":93,"col":14}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":8145}}],"discriminant":{"Scalar":{"Signed":["Isize","0"]}}},{"id":1,"span":{"data":{"file_id":67,"beg":{"line":97,"col":4},"end":{"line":97,"col":9}},"generated_from_span":null},"attr_info":{"attributes":[{"DocComment":" Exit the operation without running subsequent phases."}],"inline":null,"rename":null,"public":true},"name":"Break","fields":[{"span":{"data":{"file_id":67,"beg":{"line":97,"col":10},"end":{"line":97,"col":11}},"generated_from_span":null},"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"name":null,"ty":{"Deduplicated":8140}}],"discriminant":{"Scalar":{"Signed":["Isize","1"]}}}]},"layout":[],"ptr_metadata":"None"},null,null,null,null,null,null,null],"fun_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["slh_verify_128s",0]}],"span":{"data":{"file_id":0,"beg":{"line":341,"col":0},"end":{"line":345,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn slh_verify_128s(\n mprime: &[u8], sig: &SlhDsaSig<12, 7, 9, 14, 35, 16>, pk: &SlhPublicKey<16>,\n) -> bool {\n slh_verify_internal_free::<12, 7, 63, 9, 14, 35, 30, 16>(mprime, sig, pk)\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8230,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[294,{"Slice":{"Deduplicated":293}}]},"Shared"]}]},{"HashConsedValue":[8231,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[391,{"Adt":{"id":{"Adt":0},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","12"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","9"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","14"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","35"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","16"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]},{"HashConsedValue":[8232,{"Ref":[{"Var":{"Free":2}},{"HashConsedValue":[401,{"Adt":{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","16"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"HashConsedValue":[403,{"Literal":"Bool"}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":341,"col":0},"end":{"line":345,"col":1}},"generated_from_span":null},"bound_body_regions":15,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":343,"col":5},"end":{"line":343,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":1,"name":"mprime","span":{"data":{"file_id":0,"beg":{"line":342,"col":4},"end":{"line":342,"col":10}},"generated_from_span":null},"ty":{"HashConsedValue":[406,{"Ref":[{"Body":1},{"Deduplicated":294},"Shared"]}]}},{"index":2,"name":"sig","span":{"data":{"file_id":0,"beg":{"line":342,"col":19},"end":{"line":342,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[409,{"Ref":[{"Body":3},{"Deduplicated":391},"Shared"]}]}},{"index":3,"name":"pk","span":{"data":{"file_id":0,"beg":{"line":342,"col":58},"end":{"line":342,"col":60}},"generated_from_span":null},"ty":{"HashConsedValue":[412,{"Ref":[{"Body":5},{"Deduplicated":401},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":0,"beg":{"line":344,"col":61},"end":{"line":344,"col":67}},"generated_from_span":null},"ty":{"HashConsedValue":[413,{"Ref":[{"Body":6},{"Deduplicated":294},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":0,"beg":{"line":344,"col":69},"end":{"line":344,"col":72}},"generated_from_span":null},"ty":{"HashConsedValue":[414,{"Ref":[{"Body":7},{"Deduplicated":391},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":0,"beg":{"line":344,"col":74},"end":{"line":344,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[415,{"Ref":[{"Body":8},{"Deduplicated":401},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":344,"col":61},"end":{"line":345,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":344,"col":61},"end":{"line":344,"col":67}},"generated_from_span":null},"id":0,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":61},"end":{"line":344,"col":67}},"generated_from_span":null},"id":1,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":413}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":69},"end":{"line":344,"col":72}},"generated_from_span":null},"id":2,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":69},"end":{"line":344,"col":72}},"generated_from_span":null},"id":3,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":414}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":409}},"Deref"]},"ty":{"Deduplicated":391}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"HashConsedValue":[416,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":74},"end":{"line":344,"col":76}},"generated_from_span":null},"id":4,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":74},"end":{"line":344,"col":76}},"generated_from_span":null},"id":5,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":415}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":412}},"Deref"]},"ty":{"Deduplicated":401}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":4},"end":{"line":344,"col":77}},"generated_from_span":null},"id":6,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":1}},"generics":{"regions":[{"Body":12},{"Body":13},{"Body":14}],"types":[],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","12"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","63"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","9"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","14"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","35"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","30"]}}},"ty":{"Deduplicated":390}},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","16"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":413}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":414}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":415}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":403}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":76},"end":{"line":344,"col":77}},"generated_from_span":null},"id":7,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":76},"end":{"line":344,"col":77}},"generated_from_span":null},"id":8,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":344,"col":76},"end":{"line":344,"col":77}},"generated_from_span":null},"id":9,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":345,"col":1},"end":{"line":345,"col":1}},"generated_from_span":null},"id":10,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":1,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["slh_verify_internal_free",0]}],"span":{"data":{"file_id":0,"beg":{"line":276,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn slh_verify_internal_free<\n const A: usize,\n const D: usize,\n const H: usize,\n const HP: usize,\n const K: usize,\n const LEN: usize,\n const M: usize,\n const N: usize,\n>(\n mprime: &[u8], sig: &SlhDsaSig, pk: &SlhPublicKey,\n) -> bool {\n let (d32, h32) = (D as u32, H as u32); // Aeneas-compat: lossless casts\n\n let mut adrs = Adrs::default();\n\n let r = &sig.randomness;\n let sig_fors = &sig.fors_sig;\n let sig_ht = &sig.ht_sig;\n\n let digest = oracle::h_msg::(r, &pk.pk_seed, &pk.pk_root, mprime);\n\n let index1 = (K * A + 7) / 8;\n let md = &digest[0..index1];\n\n let index2 = index1 + (H - H / D + 7) / 8;\n let tmp_idx_tree = &digest[index1..index2];\n\n let index3 = index2 + (H + 8 * D - 1) / (8 * D);\n let tmp_idx_leaf = &digest[index2..index3];\n\n let idx_tree = to_int(tmp_idx_tree, (h32 - h32 / d32 + 7) / 8)\n & (u64::MAX >> (64 - (h32 - h32 / d32)));\n\n let idx_leaf = to_int(tmp_idx_leaf, (h32 + 8 * d32 - 1) / (8 * d32))\n & (u64::MAX >> (64 - h32 / d32));\n\n adrs.set_tree_address(idx_tree);\n adrs.set_type_and_clear(FORS_TREE);\n // Aeneas-compat: plain cast (Result plumbing untranslatable-clean). The\n // value is masked to h/d bits above and h/d <= 9 for every FIPS 205\n // parameter set, so the u32 conversion cannot fail: identical.\n #[allow(clippy::cast_possible_truncation)]\n let idx_leaf_u32 = idx_leaf as u32;\n adrs.set_key_pair_address(idx_leaf_u32);\n\n let pk_fors = fors_pk_from_sig_free::(sig_fors, md, &pk.pk_seed, &adrs);\n\n ht_verify_free::(\n &pk_fors.key,\n sig_ht,\n &pk.pk_seed,\n idx_tree,\n idx_leaf_u32,\n &pk.pk_root,\n )\n}","attr_info":{"attributes":[{"Unknown":{"path":"allow","args":"clippy::too_many_arguments, clippy::many_single_char_names"}}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"D","ty":{"Deduplicated":390}},{"index":2,"name":"H","ty":{"Deduplicated":390}},{"index":3,"name":"HP","ty":{"Deduplicated":390}},{"index":4,"name":"K","ty":{"Deduplicated":390}},{"index":5,"name":"LEN","ty":{"Deduplicated":390}},{"index":6,"name":"M","ty":{"Deduplicated":390}},{"index":7,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"HashConsedValue":[8234,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[8233,{"Adt":{"id":{"Adt":0},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":4}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":5}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]},{"HashConsedValue":[8236,{"Ref":[{"Var":{"Free":2}},{"HashConsedValue":[8235,{"Adt":{"id":{"Adt":1},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":403}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":276,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"bound_body_regions":104,"locals":{"arg_count":3,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":287,"col":5},"end":{"line":287,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":1,"name":"mprime","span":{"data":{"file_id":0,"beg":{"line":286,"col":4},"end":{"line":286,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":406}},{"index":2,"name":"sig","span":{"data":{"file_id":0,"beg":{"line":286,"col":19},"end":{"line":286,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[8237,{"Ref":[{"Body":3},{"Deduplicated":8233},"Shared"]}]}},{"index":3,"name":"pk","span":{"data":{"file_id":0,"beg":{"line":286,"col":57},"end":{"line":286,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[8238,{"Ref":[{"Body":5},{"Deduplicated":8235},"Shared"]}]}},{"index":4,"name":"d32","span":{"data":{"file_id":0,"beg":{"line":288,"col":9},"end":{"line":288,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":5,"name":"h32","span":{"data":{"file_id":0,"beg":{"line":288,"col":14},"end":{"line":288,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":6,"name":null,"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[494,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}]}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":288,"col":22},"end":{"line":288,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":288,"col":32},"end":{"line":288,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":9,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":290,"col":8},"end":{"line":290,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":10,"name":"r","span":{"data":{"file_id":0,"beg":{"line":292,"col":8},"end":{"line":292,"col":9}},"generated_from_span":null},"ty":{"HashConsedValue":[8240,{"Ref":[{"Body":7},{"HashConsedValue":[8239,{"Array":[{"Deduplicated":293},{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}]}]},"Shared"]}]}},{"index":11,"name":"sig_fors","span":{"data":{"file_id":0,"beg":{"line":293,"col":8},"end":{"line":293,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[8242,{"Ref":[{"Body":9},{"HashConsedValue":[8241,{"Adt":{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":4}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}},{"index":12,"name":"sig_ht","span":{"data":{"file_id":0,"beg":{"line":294,"col":8},"end":{"line":294,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8244,{"Ref":[{"Body":11},{"HashConsedValue":[8243,{"Adt":{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":5}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}},{"index":13,"name":"digest","span":{"data":{"file_id":0,"beg":{"line":296,"col":8},"end":{"line":296,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8245,{"Array":[{"Deduplicated":293},{"kind":{"Var":{"Free":6}},"ty":{"Deduplicated":390}}]}]}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[530,{"Ref":[{"Body":12},{"Deduplicated":294},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[8246,{"Ref":[{"Body":13},{"Deduplicated":8239},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[532,{"Ref":[{"Body":14},{"Deduplicated":294},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[8247,{"Ref":[{"Body":15},{"Deduplicated":8239},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[8248,{"Ref":[{"Body":16},{"Deduplicated":8239},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"ty":{"HashConsedValue":[535,{"Ref":[{"Body":17},{"Deduplicated":294},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"ty":{"HashConsedValue":[8249,{"Ref":[{"Body":18},{"Deduplicated":8239},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"ty":{"HashConsedValue":[8250,{"Ref":[{"Body":19},{"Deduplicated":8239},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":0,"beg":{"line":296,"col":65},"end":{"line":296,"col":71}},"generated_from_span":null},"ty":{"HashConsedValue":[538,{"Ref":[{"Body":20},{"Deduplicated":294},"Shared"]}]}},{"index":23,"name":"index1","span":{"data":{"file_id":0,"beg":{"line":298,"col":8},"end":{"line":298,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":298,"col":17},"end":{"line":298,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":298,"col":18},"end":{"line":298,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":298,"col":18},"end":{"line":298,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":298,"col":17},"end":{"line":298,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":28,"name":"md","span":{"data":{"file_id":0,"beg":{"line":299,"col":8},"end":{"line":299,"col":10}},"generated_from_span":null},"ty":{"HashConsedValue":[542,{"Ref":[{"Body":21},{"Deduplicated":294},"Shared"]}]}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":299,"col":20},"end":{"line":299,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[543,{"Ref":[{"Body":22},{"Deduplicated":294},"Shared"]}]}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":299,"col":14},"end":{"line":299,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[8251,{"Ref":[{"Body":24},{"Deduplicated":8245},"Shared"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":299,"col":21},"end":{"line":299,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[639,{"Adt":{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}]}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":299,"col":24},"end":{"line":299,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":33,"name":"index2","span":{"data":{"file_id":0,"beg":{"line":301,"col":8},"end":{"line":301,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":17},"end":{"line":301,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":35,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":36,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":37,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":27},"end":{"line":301,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":38,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":31},"end":{"line":301,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":27},"end":{"line":301,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":301,"col":17},"end":{"line":301,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":42,"name":"tmp_idx_tree","span":{"data":{"file_id":0,"beg":{"line":302,"col":8},"end":{"line":302,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[640,{"Ref":[{"Body":25},{"Deduplicated":294},"Shared"]}]}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":302,"col":30},"end":{"line":302,"col":46}},"generated_from_span":null},"ty":{"HashConsedValue":[641,{"Ref":[{"Body":26},{"Deduplicated":294},"Shared"]}]}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":302,"col":24},"end":{"line":302,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[8252,{"Ref":[{"Body":27},{"Deduplicated":8245},"Shared"]}]}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":302,"col":31},"end":{"line":302,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":302,"col":31},"end":{"line":302,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":302,"col":39},"end":{"line":302,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":48,"name":"index3","span":{"data":{"file_id":0,"beg":{"line":304,"col":8},"end":{"line":304,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":17},"end":{"line":304,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":27},"end":{"line":304,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":31},"end":{"line":304,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":31},"end":{"line":304,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":27},"end":{"line":304,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":44},"end":{"line":304,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":44},"end":{"line":304,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":304,"col":17},"end":{"line":304,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":60,"name":"tmp_idx_leaf","span":{"data":{"file_id":0,"beg":{"line":305,"col":8},"end":{"line":305,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[643,{"Ref":[{"Body":28},{"Deduplicated":294},"Shared"]}]}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":305,"col":30},"end":{"line":305,"col":46}},"generated_from_span":null},"ty":{"HashConsedValue":[644,{"Ref":[{"Body":29},{"Deduplicated":294},"Shared"]}]}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":305,"col":24},"end":{"line":305,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[8253,{"Ref":[{"Body":30},{"Deduplicated":8245},"Shared"]}]}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":305,"col":31},"end":{"line":305,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":305,"col":31},"end":{"line":305,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":305,"col":39},"end":{"line":305,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":66,"name":"idx_tree","span":{"data":{"file_id":0,"beg":{"line":307,"col":8},"end":{"line":307,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":19},"end":{"line":307,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":26},"end":{"line":307,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[648,{"Ref":[{"Body":31},{"Deduplicated":294},"Shared"]}]}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":70,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":71,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":47},"end":{"line":307,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":47},"end":{"line":307,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":53},"end":{"line":307,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":77,"name":null,"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":78,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":10},"end":{"line":308,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":23},"end":{"line":308,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":29},"end":{"line":308,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":81,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":30},"end":{"line":308,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":82,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":36},"end":{"line":308,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":83,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":36},"end":{"line":308,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":84,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":42},"end":{"line":308,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":85,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":29},"end":{"line":308,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":86,"name":null,"span":{"data":{"file_id":0,"beg":{"line":308,"col":23},"end":{"line":308,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":87,"name":"idx_leaf","span":{"data":{"file_id":0,"beg":{"line":310,"col":8},"end":{"line":310,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":88,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":19},"end":{"line":310,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":89,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":26},"end":{"line":310,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[652,{"Ref":[{"Body":32},{"Deduplicated":294},"Shared"]}]}},{"index":90,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":91,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":92,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":93,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":94,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":47},"end":{"line":310,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":95,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":51},"end":{"line":310,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":96,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":47},"end":{"line":310,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":97,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":98,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":99,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":62},"end":{"line":310,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":100,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":67},"end":{"line":310,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":101,"name":null,"span":{"data":{"file_id":0,"beg":{"line":310,"col":62},"end":{"line":310,"col":71}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":102,"name":null,"span":{"data":{"file_id":0,"beg":{"line":311,"col":10},"end":{"line":311,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":103,"name":null,"span":{"data":{"file_id":0,"beg":{"line":311,"col":23},"end":{"line":311,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":104,"name":null,"span":{"data":{"file_id":0,"beg":{"line":311,"col":29},"end":{"line":311,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":105,"name":null,"span":{"data":{"file_id":0,"beg":{"line":311,"col":29},"end":{"line":311,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":106,"name":null,"span":{"data":{"file_id":0,"beg":{"line":311,"col":35},"end":{"line":311,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":107,"name":null,"span":{"data":{"file_id":0,"beg":{"line":311,"col":23},"end":{"line":311,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":108,"name":null,"span":{"data":{"file_id":0,"beg":{"line":313,"col":4},"end":{"line":313,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":109,"name":null,"span":{"data":{"file_id":0,"beg":{"line":313,"col":4},"end":{"line":313,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[658,{"Ref":[{"Body":34},{"Deduplicated":508},"Mut"]}]}},{"index":110,"name":null,"span":{"data":{"file_id":0,"beg":{"line":313,"col":26},"end":{"line":313,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":111,"name":null,"span":{"data":{"file_id":0,"beg":{"line":314,"col":4},"end":{"line":314,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":112,"name":null,"span":{"data":{"file_id":0,"beg":{"line":314,"col":4},"end":{"line":314,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[659,{"Ref":[{"Body":35},{"Deduplicated":508},"Mut"]}]}},{"index":113,"name":"idx_leaf_u32","span":{"data":{"file_id":0,"beg":{"line":319,"col":8},"end":{"line":319,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":114,"name":null,"span":{"data":{"file_id":0,"beg":{"line":319,"col":23},"end":{"line":319,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":115,"name":null,"span":{"data":{"file_id":0,"beg":{"line":320,"col":4},"end":{"line":320,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":116,"name":null,"span":{"data":{"file_id":0,"beg":{"line":320,"col":4},"end":{"line":320,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[660,{"Ref":[{"Body":36},{"Deduplicated":508},"Mut"]}]}},{"index":117,"name":null,"span":{"data":{"file_id":0,"beg":{"line":320,"col":30},"end":{"line":320,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":118,"name":"pk_fors","span":{"data":{"file_id":0,"beg":{"line":322,"col":8},"end":{"line":322,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[8254,{"Adt":{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}},{"index":119,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":51},"end":{"line":322,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[8255,{"Ref":[{"Body":37},{"Deduplicated":8241},"Shared"]}]}},{"index":120,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":61},"end":{"line":322,"col":63}},"generated_from_span":null},"ty":{"HashConsedValue":[670,{"Ref":[{"Body":38},{"Deduplicated":294},"Shared"]}]}},{"index":121,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[671,{"Ref":[{"Body":39},{"Deduplicated":294},"Shared"]}]}},{"index":122,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[8256,{"Ref":[{"Body":40},{"Deduplicated":8239},"Shared"]}]}},{"index":123,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[8257,{"Ref":[{"Body":41},{"Deduplicated":8239},"Shared"]}]}},{"index":124,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":78},"end":{"line":322,"col":83}},"generated_from_span":null},"ty":{"HashConsedValue":[676,{"Ref":[{"Body":43},{"Deduplicated":508},"Shared"]}]}},{"index":125,"name":null,"span":{"data":{"file_id":0,"beg":{"line":322,"col":78},"end":{"line":322,"col":83}},"generated_from_span":null},"ty":{"HashConsedValue":[677,{"Ref":[{"Body":44},{"Deduplicated":508},"Shared"]}]}},{"index":126,"name":null,"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[678,{"Ref":[{"Body":45},{"Deduplicated":294},"Shared"]}]}},{"index":127,"name":null,"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[8258,{"Ref":[{"Body":46},{"Deduplicated":8239},"Shared"]}]}},{"index":128,"name":null,"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[8259,{"Ref":[{"Body":47},{"Deduplicated":8239},"Shared"]}]}},{"index":129,"name":null,"span":{"data":{"file_id":0,"beg":{"line":326,"col":8},"end":{"line":326,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8260,{"Ref":[{"Body":48},{"Deduplicated":8243},"Shared"]}]}},{"index":130,"name":null,"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[682,{"Ref":[{"Body":49},{"Deduplicated":294},"Shared"]}]}},{"index":131,"name":null,"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8261,{"Ref":[{"Body":50},{"Deduplicated":8239},"Shared"]}]}},{"index":132,"name":null,"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8262,{"Ref":[{"Body":51},{"Deduplicated":8239},"Shared"]}]}},{"index":133,"name":null,"span":{"data":{"file_id":0,"beg":{"line":328,"col":8},"end":{"line":328,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":134,"name":null,"span":{"data":{"file_id":0,"beg":{"line":329,"col":8},"end":{"line":329,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":135,"name":null,"span":{"data":{"file_id":0,"beg":{"line":330,"col":8},"end":{"line":330,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8263,{"Ref":[{"Body":52},{"Deduplicated":8239},"Shared"]}]}},{"index":136,"name":null,"span":{"data":{"file_id":0,"beg":{"line":330,"col":8},"end":{"line":330,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8264,{"Ref":[{"Body":53},{"Deduplicated":8239},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":288,"col":9},"end":{"line":332,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":11,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":12,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":15,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":16,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":18,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":19,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":20,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":21,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":22,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":24,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":26,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":27,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":30,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":31,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":33,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":34,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":35,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":36,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":39,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":41,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":22},"end":{"line":288,"col":30}},"generated_from_span":null},"id":42,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":22},"end":{"line":288,"col":30}},"generated_from_span":null},"id":43,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":32},"end":{"line":288,"col":40}},"generated_from_span":null},"id":44,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":32},"end":{"line":288,"col":40}},"generated_from_span":null},"id":45,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":21},"end":{"line":288,"col":41}},"generated_from_span":null},"id":46,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":494}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":40},"end":{"line":288,"col":41}},"generated_from_span":null},"id":47,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":40},"end":{"line":288,"col":41}},"generated_from_span":null},"id":48,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":9},"end":{"line":288,"col":12}},"generated_from_span":null},"id":49,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":9},"end":{"line":288,"col":12}},"generated_from_span":null},"id":50,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":494}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":14},"end":{"line":288,"col":17}},"generated_from_span":null},"id":51,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":14},"end":{"line":288,"col":17}},"generated_from_span":null},"id":52,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":494}},{"Field":[{"Tuple":2},1]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":288,"col":41},"end":{"line":288,"col":42}},"generated_from_span":null},"id":53,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":290,"col":8},"end":{"line":290,"col":16}},"generated_from_span":null},"id":54,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":290,"col":19},"end":{"line":290,"col":34}},"generated_from_span":null},"id":55,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":292,"col":8},"end":{"line":292,"col":9}},"generated_from_span":null},"id":56,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":292,"col":12},"end":{"line":292,"col":27}},"generated_from_span":null},"id":57,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":8240}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8237}},"Deref"]},"ty":{"Deduplicated":8233}},{"Field":[{"Adt":[0,null]},0]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":293,"col":8},"end":{"line":293,"col":16}},"generated_from_span":null},"id":58,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":293,"col":19},"end":{"line":293,"col":32}},"generated_from_span":null},"id":59,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":8242}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8237}},"Deref"]},"ty":{"Deduplicated":8233}},{"Field":[{"Adt":[0,null]},1]}]},"ty":{"Deduplicated":8241}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":294,"col":8},"end":{"line":294,"col":14}},"generated_from_span":null},"id":60,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":294,"col":17},"end":{"line":294,"col":28}},"generated_from_span":null},"id":61,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":8244}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8237}},"Deref"]},"ty":{"Deduplicated":8233}},{"Field":[{"Adt":[0,null]},2]}]},"ty":{"Deduplicated":8243}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":8},"end":{"line":296,"col":14}},"generated_from_span":null},"id":62,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"id":63,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"id":64,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"id":65,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":8246}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":8240}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"id":66,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":8246}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":530}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":36},"end":{"line":296,"col":37}},"generated_from_span":null},"id":67,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"id":68,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"id":69,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"id":70,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"id":71,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":8248}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8238}},"Deref"]},"ty":{"Deduplicated":8235}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"id":72,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":8247}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":8248}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":39},"end":{"line":296,"col":50}},"generated_from_span":null},"id":73,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":8247}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":532}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":49},"end":{"line":296,"col":50}},"generated_from_span":null},"id":74,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"id":75,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"id":76,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"id":77,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"id":78,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":8250}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8238}},"Deref"]},"ty":{"Deduplicated":8235}},{"Field":[{"Adt":[1,null]},1]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"id":79,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8249}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":8250}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":52},"end":{"line":296,"col":63}},"generated_from_span":null},"id":80,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":8249}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":535}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":62},"end":{"line":296,"col":63}},"generated_from_span":null},"id":81,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":65},"end":{"line":296,"col":71}},"generated_from_span":null},"id":82,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":65},"end":{"line":296,"col":71}},"generated_from_span":null},"id":83,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":538}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":17},"end":{"line":296,"col":72}},"generated_from_span":null},"id":84,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":3}},"generics":{"regions":[{"Body":61},{"Body":62},{"Body":63},{"Body":64}],"types":[],"const_generics":[{"kind":{"Var":{"Free":6}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":530}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":532}}},{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":535}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":538}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":8245}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":71},"end":{"line":296,"col":72}},"generated_from_span":null},"id":85,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":71},"end":{"line":296,"col":72}},"generated_from_span":null},"id":86,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":71},"end":{"line":296,"col":72}},"generated_from_span":null},"id":87,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":71},"end":{"line":296,"col":72}},"generated_from_span":null},"id":88,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":72},"end":{"line":296,"col":73}},"generated_from_span":null},"id":89,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":296,"col":72},"end":{"line":296,"col":73}},"generated_from_span":null},"id":90,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":8},"end":{"line":298,"col":14}},"generated_from_span":null},"id":91,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":17},"end":{"line":298,"col":28}},"generated_from_span":null},"id":92,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":18},"end":{"line":298,"col":23}},"generated_from_span":null},"id":93,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":18},"end":{"line":298,"col":23}},"generated_from_span":null},"id":94,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Var":{"Free":4}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":18},"end":{"line":298,"col":23}},"generated_from_span":null},"id":96,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":17},"end":{"line":298,"col":28}},"generated_from_span":null},"id":97,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":25},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":17},"end":{"line":298,"col":28}},"generated_from_span":null},"id":99,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":27},"end":{"line":298,"col":28}},"generated_from_span":null},"id":100,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":17},"end":{"line":298,"col":32}},"generated_from_span":null},"id":103,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":298,"col":31},"end":{"line":298,"col":32}},"generated_from_span":null},"id":104,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":8},"end":{"line":299,"col":10}},"generated_from_span":null},"id":105,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":20},"end":{"line":299,"col":31}},"generated_from_span":null},"id":106,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":14},"end":{"line":299,"col":20}},"generated_from_span":null},"id":107,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":14},"end":{"line":299,"col":20}},"generated_from_span":null},"id":108,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":8251}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":8245}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":21},"end":{"line":299,"col":30}},"generated_from_span":null},"id":109,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":24},"end":{"line":299,"col":30}},"generated_from_span":null},"id":110,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":24},"end":{"line":299,"col":30}},"generated_from_span":null},"id":111,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":21},"end":{"line":299,"col":30}},"generated_from_span":null},"id":112,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":29},"end":{"line":299,"col":30}},"generated_from_span":null},"id":113,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":20},"end":{"line":299,"col":31}},"generated_from_span":null},"id":114,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":67}],"types":[{"Deduplicated":293},{"Deduplicated":639},{"Deduplicated":294}],"const_generics":[{"kind":{"Var":{"Free":6}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[7615,{"kind":{"TraitImpl":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":293},{"Deduplicated":639},{"Deduplicated":294}],"const_generics":[],"trait_refs":[{"HashConsedValue":[7614,{"kind":{"TraitImpl":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":294},{"Deduplicated":294}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":294},{"Deduplicated":639},{"Deduplicated":294}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":8251}}},{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":29},"ty":{"Deduplicated":543}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":30},"end":{"line":299,"col":31}},"generated_from_span":null},"id":115,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":30},"end":{"line":299,"col":31}},"generated_from_span":null},"id":116,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":299,"col":13},"end":{"line":299,"col":31}},"generated_from_span":null},"id":117,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":542}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":543}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":543}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":8},"end":{"line":301,"col":14}},"generated_from_span":null},"id":118,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":17},"end":{"line":301,"col":23}},"generated_from_span":null},"id":119,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":17},"end":{"line":301,"col":23}},"generated_from_span":null},"id":120,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":45}},"generated_from_span":null},"id":121,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":41}},"generated_from_span":null},"id":122,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":27},"end":{"line":301,"col":36}},"generated_from_span":null},"id":123,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":31},"end":{"line":301,"col":36}},"generated_from_span":null},"id":124,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":31},"end":{"line":301,"col":36}},"generated_from_span":null},"id":127,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Div":"Panic"},{"Const":{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":27},"end":{"line":301,"col":36}},"generated_from_span":null},"id":128,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":27},"end":{"line":301,"col":36}},"generated_from_span":null},"id":130,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":35},"end":{"line":301,"col":36}},"generated_from_span":null},"id":131,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":41}},"generated_from_span":null},"id":132,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","7"]}}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":41}},"generated_from_span":null},"id":134,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":40},"end":{"line":301,"col":41}},"generated_from_span":null},"id":135,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":26},"end":{"line":301,"col":45}},"generated_from_span":null},"id":138,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":44},"end":{"line":301,"col":45}},"generated_from_span":null},"id":139,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":17},"end":{"line":301,"col":45}},"generated_from_span":null},"id":140,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":390}}},{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":17},"end":{"line":301,"col":45}},"generated_from_span":null},"id":142,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":44},"end":{"line":301,"col":45}},"generated_from_span":null},"id":143,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":301,"col":44},"end":{"line":301,"col":45}},"generated_from_span":null},"id":144,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":8},"end":{"line":302,"col":20}},"generated_from_span":null},"id":145,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":30},"end":{"line":302,"col":46}},"generated_from_span":null},"id":146,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":24},"end":{"line":302,"col":30}},"generated_from_span":null},"id":147,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":24},"end":{"line":302,"col":30}},"generated_from_span":null},"id":148,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":8252}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":8245}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":31},"end":{"line":302,"col":45}},"generated_from_span":null},"id":149,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":31},"end":{"line":302,"col":37}},"generated_from_span":null},"id":150,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":31},"end":{"line":302,"col":37}},"generated_from_span":null},"id":151,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":23},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":39},"end":{"line":302,"col":45}},"generated_from_span":null},"id":152,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":39},"end":{"line":302,"col":45}},"generated_from_span":null},"id":153,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":31},"end":{"line":302,"col":45}},"generated_from_span":null},"id":154,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":44},"end":{"line":302,"col":45}},"generated_from_span":null},"id":155,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":44},"end":{"line":302,"col":45}},"generated_from_span":null},"id":156,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":30},"end":{"line":302,"col":46}},"generated_from_span":null},"id":157,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":69}],"types":[{"Deduplicated":293},{"Deduplicated":639},{"Deduplicated":294}],"const_generics":[{"kind":{"Var":{"Free":6}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":7615}]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":8252}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":641}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":45},"end":{"line":302,"col":46}},"generated_from_span":null},"id":158,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":45},"end":{"line":302,"col":46}},"generated_from_span":null},"id":159,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":302,"col":23},"end":{"line":302,"col":46}},"generated_from_span":null},"id":160,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":640}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":43},"ty":{"Deduplicated":641}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":43},"ty":{"Deduplicated":641}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":8},"end":{"line":304,"col":14}},"generated_from_span":null},"id":161,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":17},"end":{"line":304,"col":23}},"generated_from_span":null},"id":162,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":17},"end":{"line":304,"col":23}},"generated_from_span":null},"id":163,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":51}},"generated_from_span":null},"id":164,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":41}},"generated_from_span":null},"id":165,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":27},"end":{"line":304,"col":36}},"generated_from_span":null},"id":166,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":31},"end":{"line":304,"col":36}},"generated_from_span":null},"id":167,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":31},"end":{"line":304,"col":36}},"generated_from_span":null},"id":168,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":31},"end":{"line":304,"col":36}},"generated_from_span":null},"id":170,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":27},"end":{"line":304,"col":36}},"generated_from_span":null},"id":171,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Add":"Panic"},{"Const":{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}},{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":27},"end":{"line":304,"col":36}},"generated_from_span":null},"id":173,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":35},"end":{"line":304,"col":36}},"generated_from_span":null},"id":174,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":41}},"generated_from_span":null},"id":175,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":41}},"generated_from_span":null},"id":177,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":40},"end":{"line":304,"col":41}},"generated_from_span":null},"id":178,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":44},"end":{"line":304,"col":51}},"generated_from_span":null},"id":179,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":44},"end":{"line":304,"col":51}},"generated_from_span":null},"id":180,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":44},"end":{"line":304,"col":51}},"generated_from_span":null},"id":182,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":26},"end":{"line":304,"col":51}},"generated_from_span":null},"id":185,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":50},"end":{"line":304,"col":51}},"generated_from_span":null},"id":186,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":50},"end":{"line":304,"col":51}},"generated_from_span":null},"id":187,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":17},"end":{"line":304,"col":51}},"generated_from_span":null},"id":188,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":49},"ty":{"Deduplicated":390}}},{"Copy":{"kind":{"Local":50},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":17},"end":{"line":304,"col":51}},"generated_from_span":null},"id":190,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":50},"end":{"line":304,"col":51}},"generated_from_span":null},"id":191,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":304,"col":50},"end":{"line":304,"col":51}},"generated_from_span":null},"id":192,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":8},"end":{"line":305,"col":20}},"generated_from_span":null},"id":193,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":30},"end":{"line":305,"col":46}},"generated_from_span":null},"id":194,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":24},"end":{"line":305,"col":30}},"generated_from_span":null},"id":195,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":24},"end":{"line":305,"col":30}},"generated_from_span":null},"id":196,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":8253}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":8245}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":31},"end":{"line":305,"col":45}},"generated_from_span":null},"id":197,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":31},"end":{"line":305,"col":37}},"generated_from_span":null},"id":198,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":31},"end":{"line":305,"col":37}},"generated_from_span":null},"id":199,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":39},"end":{"line":305,"col":45}},"generated_from_span":null},"id":200,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":39},"end":{"line":305,"col":45}},"generated_from_span":null},"id":201,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":31},"end":{"line":305,"col":45}},"generated_from_span":null},"id":202,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":44},"end":{"line":305,"col":45}},"generated_from_span":null},"id":203,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":44},"end":{"line":305,"col":45}},"generated_from_span":null},"id":204,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":30},"end":{"line":305,"col":46}},"generated_from_span":null},"id":205,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":71}],"types":[{"Deduplicated":293},{"Deduplicated":639},{"Deduplicated":294}],"const_generics":[{"kind":{"Var":{"Free":6}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":7615}]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":8253}}},{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":644}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":45},"end":{"line":305,"col":46}},"generated_from_span":null},"id":206,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":45},"end":{"line":305,"col":46}},"generated_from_span":null},"id":207,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":305,"col":23},"end":{"line":305,"col":46}},"generated_from_span":null},"id":208,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":643}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":644}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":644}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":8},"end":{"line":307,"col":16}},"generated_from_span":null},"id":209,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":19},"end":{"line":307,"col":66}},"generated_from_span":null},"id":210,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":26},"end":{"line":307,"col":38}},"generated_from_span":null},"id":211,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":26},"end":{"line":307,"col":38}},"generated_from_span":null},"id":212,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":648}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":640}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":42},"ty":{"Deduplicated":640}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":65}},"generated_from_span":null},"id":213,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":61}},"generated_from_span":null},"id":214,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":56}},"generated_from_span":null},"id":215,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":44}},"generated_from_span":null},"id":216,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":44}},"generated_from_span":null},"id":217,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":47},"end":{"line":307,"col":56}},"generated_from_span":null},"id":218,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":47},"end":{"line":307,"col":50}},"generated_from_span":null},"id":219,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":47},"end":{"line":307,"col":50}},"generated_from_span":null},"id":220,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":53},"end":{"line":307,"col":56}},"generated_from_span":null},"id":221,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":53},"end":{"line":307,"col":56}},"generated_from_span":null},"id":222,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":47},"end":{"line":307,"col":56}},"generated_from_span":null},"id":225,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":55},"end":{"line":307,"col":56}},"generated_from_span":null},"id":226,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":55},"end":{"line":307,"col":56}},"generated_from_span":null},"id":227,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":56}},"generated_from_span":null},"id":228,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":72},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":73},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":41},"end":{"line":307,"col":56}},"generated_from_span":null},"id":230,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":55},"end":{"line":307,"col":56}},"generated_from_span":null},"id":231,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":55},"end":{"line":307,"col":56}},"generated_from_span":null},"id":232,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":61}},"generated_from_span":null},"id":233,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":71},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":61}},"generated_from_span":null},"id":235,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":60},"end":{"line":307,"col":61}},"generated_from_span":null},"id":236,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":40},"end":{"line":307,"col":65}},"generated_from_span":null},"id":239,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":64},"end":{"line":307,"col":65}},"generated_from_span":null},"id":240,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":19},"end":{"line":307,"col":66}},"generated_from_span":null},"id":241,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":6}},"generics":{"regions":[{"Body":73}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":648}}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":647}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":65},"end":{"line":307,"col":66}},"generated_from_span":null},"id":242,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":65},"end":{"line":307,"col":66}},"generated_from_span":null},"id":243,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":10},"end":{"line":308,"col":48}},"generated_from_span":null},"id":244,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":23},"end":{"line":308,"col":47}},"generated_from_span":null},"id":245,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":29},"end":{"line":308,"col":46}},"generated_from_span":null},"id":246,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":30},"end":{"line":308,"col":33}},"generated_from_span":null},"id":247,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":30},"end":{"line":308,"col":33}},"generated_from_span":null},"id":248,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":36},"end":{"line":308,"col":45}},"generated_from_span":null},"id":249,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":36},"end":{"line":308,"col":39}},"generated_from_span":null},"id":250,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":36},"end":{"line":308,"col":39}},"generated_from_span":null},"id":251,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":42},"end":{"line":308,"col":45}},"generated_from_span":null},"id":252,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":42},"end":{"line":308,"col":45}},"generated_from_span":null},"id":253,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":36},"end":{"line":308,"col":45}},"generated_from_span":null},"id":256,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":84},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":44},"end":{"line":308,"col":45}},"generated_from_span":null},"id":257,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":44},"end":{"line":308,"col":45}},"generated_from_span":null},"id":258,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":29},"end":{"line":308,"col":46}},"generated_from_span":null},"id":259,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":81},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":82},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":29},"end":{"line":308,"col":46}},"generated_from_span":null},"id":261,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":45},"end":{"line":308,"col":46}},"generated_from_span":null},"id":262,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":45},"end":{"line":308,"col":46}},"generated_from_span":null},"id":263,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":23},"end":{"line":308,"col":47}},"generated_from_span":null},"id":264,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","64"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":80},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":23},"end":{"line":308,"col":47}},"generated_from_span":null},"id":266,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":46},"end":{"line":308,"col":47}},"generated_from_span":null},"id":267,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":10},"end":{"line":308,"col":48}},"generated_from_span":null},"id":270,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Shr":"Panic"},{"Copy":{"kind":{"Global":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":47},"end":{"line":308,"col":48}},"generated_from_span":null},"id":271,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":307,"col":19},"end":{"line":308,"col":48}},"generated_from_span":null},"id":272,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":647}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":47},"end":{"line":308,"col":48}},"generated_from_span":null},"id":273,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":308,"col":47},"end":{"line":308,"col":48}},"generated_from_span":null},"id":274,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":8},"end":{"line":310,"col":16}},"generated_from_span":null},"id":275,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":19},"end":{"line":310,"col":72}},"generated_from_span":null},"id":276,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":26},"end":{"line":310,"col":38}},"generated_from_span":null},"id":277,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":26},"end":{"line":310,"col":38}},"generated_from_span":null},"id":278,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":652}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":643}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":643}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":71}},"generated_from_span":null},"id":279,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":59}},"generated_from_span":null},"id":280,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":54}},"generated_from_span":null},"id":281,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":44}},"generated_from_span":null},"id":282,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":44}},"generated_from_span":null},"id":283,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":47},"end":{"line":310,"col":54}},"generated_from_span":null},"id":284,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":51},"end":{"line":310,"col":54}},"generated_from_span":null},"id":285,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":51},"end":{"line":310,"col":54}},"generated_from_span":null},"id":286,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":47},"end":{"line":310,"col":54}},"generated_from_span":null},"id":287,"kind":{"Assign":[{"kind":{"Local":96},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":95},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":47},"end":{"line":310,"col":54}},"generated_from_span":null},"id":289,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":53},"end":{"line":310,"col":54}},"generated_from_span":null},"id":290,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":54}},"generated_from_span":null},"id":291,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":93},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":94},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":41},"end":{"line":310,"col":54}},"generated_from_span":null},"id":293,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":53},"end":{"line":310,"col":54}},"generated_from_span":null},"id":294,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":53},"end":{"line":310,"col":54}},"generated_from_span":null},"id":295,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":59}},"generated_from_span":null},"id":296,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":92},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":59}},"generated_from_span":null},"id":298,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":98},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":58},"end":{"line":310,"col":59}},"generated_from_span":null},"id":299,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":62},"end":{"line":310,"col":71}},"generated_from_span":null},"id":300,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":67},"end":{"line":310,"col":70}},"generated_from_span":null},"id":301,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":67},"end":{"line":310,"col":70}},"generated_from_span":null},"id":302,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":62},"end":{"line":310,"col":71}},"generated_from_span":null},"id":303,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":100},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":62},"end":{"line":310,"col":71}},"generated_from_span":null},"id":305,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":101},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":70},"end":{"line":310,"col":71}},"generated_from_span":null},"id":306,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":40},"end":{"line":310,"col":71}},"generated_from_span":null},"id":309,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":99},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":70},"end":{"line":310,"col":71}},"generated_from_span":null},"id":310,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":70},"end":{"line":310,"col":71}},"generated_from_span":null},"id":311,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":19},"end":{"line":310,"col":72}},"generated_from_span":null},"id":312,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":6}},"generics":{"regions":[{"Body":75}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":652}}},{"Move":{"kind":{"Local":90},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":88},"ty":{"Deduplicated":647}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":71},"end":{"line":310,"col":72}},"generated_from_span":null},"id":313,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":71},"end":{"line":310,"col":72}},"generated_from_span":null},"id":314,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":10},"end":{"line":311,"col":40}},"generated_from_span":null},"id":315,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":23},"end":{"line":311,"col":39}},"generated_from_span":null},"id":316,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":29},"end":{"line":311,"col":38}},"generated_from_span":null},"id":317,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":29},"end":{"line":311,"col":32}},"generated_from_span":null},"id":318,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":29},"end":{"line":311,"col":32}},"generated_from_span":null},"id":319,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":35},"end":{"line":311,"col":38}},"generated_from_span":null},"id":320,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":35},"end":{"line":311,"col":38}},"generated_from_span":null},"id":321,"kind":{"Assign":[{"kind":{"Local":106},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":29},"end":{"line":311,"col":38}},"generated_from_span":null},"id":324,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":105},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":106},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":37},"end":{"line":311,"col":38}},"generated_from_span":null},"id":325,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":37},"end":{"line":311,"col":38}},"generated_from_span":null},"id":326,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":23},"end":{"line":311,"col":39}},"generated_from_span":null},"id":327,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","64"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":104},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":23},"end":{"line":311,"col":39}},"generated_from_span":null},"id":329,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":107},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":38},"end":{"line":311,"col":39}},"generated_from_span":null},"id":330,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":10},"end":{"line":311,"col":40}},"generated_from_span":null},"id":333,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Shr":"Panic"},{"Copy":{"kind":{"Global":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":103},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":39},"end":{"line":311,"col":40}},"generated_from_span":null},"id":334,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":310,"col":19},"end":{"line":311,"col":40}},"generated_from_span":null},"id":335,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":647}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":39},"end":{"line":311,"col":40}},"generated_from_span":null},"id":336,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":311,"col":39},"end":{"line":311,"col":40}},"generated_from_span":null},"id":337,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":4},"end":{"line":313,"col":35}},"generated_from_span":null},"id":338,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":4},"end":{"line":313,"col":8}},"generated_from_span":null},"id":339,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":4},"end":{"line":313,"col":8}},"generated_from_span":null},"id":340,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":658}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":26},"end":{"line":313,"col":34}},"generated_from_span":null},"id":341,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":26},"end":{"line":313,"col":34}},"generated_from_span":null},"id":342,"kind":{"Assign":[{"kind":{"Local":110},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":66},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":4},"end":{"line":313,"col":35}},"generated_from_span":null},"id":343,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":7}},"generics":{"regions":[{"Body":77}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":658}}},{"Move":{"kind":{"Local":110},"ty":{"Deduplicated":647}}}],"dest":{"kind":{"Local":108},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":34},"end":{"line":313,"col":35}},"generated_from_span":null},"id":344,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":34},"end":{"line":313,"col":35}},"generated_from_span":null},"id":345,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":313,"col":35},"end":{"line":313,"col":36}},"generated_from_span":null},"id":346,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":314,"col":4},"end":{"line":314,"col":38}},"generated_from_span":null},"id":347,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":314,"col":4},"end":{"line":314,"col":8}},"generated_from_span":null},"id":348,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":314,"col":4},"end":{"line":314,"col":8}},"generated_from_span":null},"id":349,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":659}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":314,"col":4},"end":{"line":314,"col":38}},"generated_from_span":null},"id":350,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":8}},"generics":{"regions":[{"Body":79}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":112},"ty":{"Deduplicated":659}}},{"Copy":{"kind":{"Global":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":111},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":314,"col":37},"end":{"line":314,"col":38}},"generated_from_span":null},"id":351,"kind":{"StorageDead":112},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":314,"col":38},"end":{"line":314,"col":39}},"generated_from_span":null},"id":352,"kind":{"StorageDead":111},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":319,"col":8},"end":{"line":319,"col":20}},"generated_from_span":null},"id":353,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":319,"col":23},"end":{"line":319,"col":31}},"generated_from_span":null},"id":354,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":319,"col":23},"end":{"line":319,"col":31}},"generated_from_span":null},"id":355,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":87},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":["Aeneas-compat: plain cast (Result plumbing untranslatable-clean). The","value is masked to h/d bits above and h/d <= 9 for every FIPS 205","parameter set, so the u32 conversion cannot fail: identical."]},{"span":{"data":{"file_id":0,"beg":{"line":319,"col":23},"end":{"line":319,"col":38}},"generated_from_span":null},"id":356,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U32"}]}},{"Move":{"kind":{"Local":114},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":319,"col":37},"end":{"line":319,"col":38}},"generated_from_span":null},"id":357,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":4},"end":{"line":320,"col":43}},"generated_from_span":null},"id":358,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":4},"end":{"line":320,"col":8}},"generated_from_span":null},"id":359,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":4},"end":{"line":320,"col":8}},"generated_from_span":null},"id":360,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":660}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":30},"end":{"line":320,"col":42}},"generated_from_span":null},"id":361,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":30},"end":{"line":320,"col":42}},"generated_from_span":null},"id":362,"kind":{"Assign":[{"kind":{"Local":117},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":4},"end":{"line":320,"col":43}},"generated_from_span":null},"id":363,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":81}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":116},"ty":{"Deduplicated":660}}},{"Move":{"kind":{"Local":117},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":115},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":42},"end":{"line":320,"col":43}},"generated_from_span":null},"id":364,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":42},"end":{"line":320,"col":43}},"generated_from_span":null},"id":365,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":320,"col":43},"end":{"line":320,"col":44}},"generated_from_span":null},"id":366,"kind":{"StorageDead":115},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":8},"end":{"line":322,"col":15}},"generated_from_span":null},"id":367,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":51},"end":{"line":322,"col":59}},"generated_from_span":null},"id":368,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":51},"end":{"line":322,"col":59}},"generated_from_span":null},"id":369,"kind":{"Assign":[{"kind":{"Local":119},"ty":{"Deduplicated":8255}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":8242}},"Deref"]},"ty":{"Deduplicated":8241}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":61},"end":{"line":322,"col":63}},"generated_from_span":null},"id":370,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":61},"end":{"line":322,"col":63}},"generated_from_span":null},"id":371,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":670}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":542}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":542}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"id":372,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"id":373,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"id":374,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"id":375,"kind":{"Assign":[{"kind":{"Local":123},"ty":{"Deduplicated":8257}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8238}},"Deref"]},"ty":{"Deduplicated":8235}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"id":376,"kind":{"Assign":[{"kind":{"Local":122},"ty":{"Deduplicated":8256}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":123},"ty":{"Deduplicated":8257}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":65},"end":{"line":322,"col":76}},"generated_from_span":null},"id":377,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":122},"ty":{"Deduplicated":8256}}}],"dest":{"kind":{"Local":121},"ty":{"Deduplicated":671}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":75},"end":{"line":322,"col":76}},"generated_from_span":null},"id":378,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":78},"end":{"line":322,"col":83}},"generated_from_span":null},"id":379,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":78},"end":{"line":322,"col":83}},"generated_from_span":null},"id":380,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":78},"end":{"line":322,"col":83}},"generated_from_span":null},"id":381,"kind":{"Assign":[{"kind":{"Local":125},"ty":{"Deduplicated":677}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":78},"end":{"line":322,"col":83}},"generated_from_span":null},"id":382,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":676}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":125},"ty":{"Deduplicated":677}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":18},"end":{"line":322,"col":84}},"generated_from_span":null},"id":383,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":10}},"generics":{"regions":[{"Body":87},{"Body":88},{"Body":89},{"Body":90}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":4}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":119},"ty":{"Deduplicated":8255}}},{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":670}}},{"Move":{"kind":{"Local":121},"ty":{"Deduplicated":671}}},{"Move":{"kind":{"Local":124},"ty":{"Deduplicated":676}}}],"dest":{"kind":{"Local":118},"ty":{"Deduplicated":8254}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":83},"end":{"line":322,"col":84}},"generated_from_span":null},"id":384,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":83},"end":{"line":322,"col":84}},"generated_from_span":null},"id":385,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":83},"end":{"line":322,"col":84}},"generated_from_span":null},"id":386,"kind":{"StorageDead":120},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":83},"end":{"line":322,"col":84}},"generated_from_span":null},"id":387,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":84},"end":{"line":322,"col":85}},"generated_from_span":null},"id":388,"kind":{"StorageDead":125},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":322,"col":84},"end":{"line":322,"col":85}},"generated_from_span":null},"id":389,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"id":390,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"id":391,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"id":392,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"id":393,"kind":{"Assign":[{"kind":{"Local":128},"ty":{"Deduplicated":8259}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":118},"ty":{"Deduplicated":8254}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"id":394,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":8258}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":128},"ty":{"Deduplicated":8259}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":8},"end":{"line":325,"col":20}},"generated_from_span":null},"id":395,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":127},"ty":{"Deduplicated":8258}}}],"dest":{"kind":{"Local":126},"ty":{"Deduplicated":678}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":325,"col":19},"end":{"line":325,"col":20}},"generated_from_span":null},"id":396,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":326,"col":8},"end":{"line":326,"col":14}},"generated_from_span":null},"id":397,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":326,"col":8},"end":{"line":326,"col":14}},"generated_from_span":null},"id":398,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":8260}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":8244}},"Deref"]},"ty":{"Deduplicated":8243}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"id":399,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"id":400,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"id":401,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"id":402,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":8262}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8238}},"Deref"]},"ty":{"Deduplicated":8235}},{"Field":[{"Adt":[1,null]},0]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"id":403,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":8261}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":132},"ty":{"Deduplicated":8262}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":8},"end":{"line":327,"col":19}},"generated_from_span":null},"id":404,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":131},"ty":{"Deduplicated":8261}}}],"dest":{"kind":{"Local":130},"ty":{"Deduplicated":682}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":327,"col":18},"end":{"line":327,"col":19}},"generated_from_span":null},"id":405,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":328,"col":8},"end":{"line":328,"col":16}},"generated_from_span":null},"id":406,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":328,"col":8},"end":{"line":328,"col":16}},"generated_from_span":null},"id":407,"kind":{"Assign":[{"kind":{"Local":133},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":66},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":329,"col":8},"end":{"line":329,"col":20}},"generated_from_span":null},"id":408,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":329,"col":8},"end":{"line":329,"col":20}},"generated_from_span":null},"id":409,"kind":{"Assign":[{"kind":{"Local":134},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":113},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":330,"col":8},"end":{"line":330,"col":19}},"generated_from_span":null},"id":410,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":330,"col":8},"end":{"line":330,"col":19}},"generated_from_span":null},"id":411,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":330,"col":8},"end":{"line":330,"col":19}},"generated_from_span":null},"id":412,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":8264}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8238}},"Deref"]},"ty":{"Deduplicated":8235}},{"Field":[{"Adt":[1,null]},1]}]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":330,"col":8},"end":{"line":330,"col":19}},"generated_from_span":null},"id":413,"kind":{"Assign":[{"kind":{"Local":135},"ty":{"Deduplicated":8263}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":136},"ty":{"Deduplicated":8264}},"Deref"]},"ty":{"Deduplicated":8239}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":324,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":414,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":11}},"generics":{"regions":[{"Body":97},{"Body":98},{"Body":99},{"Body":100}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":5}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":126},"ty":{"Deduplicated":678}}},{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":8260}}},{"Move":{"kind":{"Local":130},"ty":{"Deduplicated":682}}},{"Move":{"kind":{"Local":133},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":134},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":135},"ty":{"Deduplicated":8263}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":403}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":331,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":415,"kind":{"StorageDead":135},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":331,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":416,"kind":{"StorageDead":134},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":331,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":417,"kind":{"StorageDead":133},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":331,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":418,"kind":{"StorageDead":130},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":331,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":419,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":331,"col":4},"end":{"line":331,"col":5}},"generated_from_span":null},"id":420,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":421,"kind":{"Drop":[{"kind":{"Local":118},"ty":{"Deduplicated":8254}},{"kind":{"Fun":{"Regular":51}},"generics":{"regions":[{"Body":102}],"types":[],"const_generics":[{"kind":{"Var":{"Free":7}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":422,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":423,"kind":{"StorageDead":113},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":424,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":425,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":426,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":427,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":428,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":429,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":430,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":431,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":432,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":433,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":434,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":435,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":436,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":437,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":438,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":439,"kind":{"Drop":[{"kind":{"Local":9},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":103}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":440,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":441,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":442,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":443,"kind":{"StorageDead":136},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":444,"kind":{"StorageDead":132},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":0},"end":{"line":332,"col":1}},"generated_from_span":null},"id":445,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":332,"col":1},"end":{"line":332,"col":1}},"generated_from_span":null},"id":446,"kind":"Return","comments_before":[]}]},"comments":[[318,["Aeneas-compat: plain cast (Result plumbing untranslatable-clean). The","value is masked to h/d bits above and h/d <= 9 for every FIPS 205","parameter set, so the u32 conversion cannot fail: identical."]]]}}},{"def_id":2,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":0}},{"Ident":["default",0]}],"span":{"data":{"file_id":2,"beg":{"line":114,"col":16},"end":{"line":114,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":508}},"src":{"TraitImpl":{"impl_ref":{"id":0,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":114,"col":16},"end":{"line":114,"col":23}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":16},"end":{"line":114,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":1,"name":null,"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":5,"name":null,"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":6,"name":null,"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":7,"name":null,"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":8,"name":null,"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":114,"col":16},"end":{"line":131,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":447,"kind":{"StorageLive":1},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":448,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"HashConsedValue":[1308,{"kind":{"TraitImpl":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[],"dest":{"kind":{"Local":1},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":449,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":450,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":451,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":452,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":453,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":454,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":455,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":456,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":457,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":458,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":459,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":460,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":461,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":462,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":12}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":1308}]}}},"args":[],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":16},"end":{"line":114,"col":23}},"generated_from_span":null},"id":463,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":508}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":1},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1268}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":464,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":465,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":466,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":467,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":468,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":469,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":470,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":22},"end":{"line":114,"col":23}},"generated_from_span":null},"id":471,"kind":{"StorageDead":1},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":23},"end":{"line":114,"col":23}},"generated_from_span":null},"id":472,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":3,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["h_msg",0]}],"span":{"data":{"file_id":0,"beg":{"line":81,"col":4},"end":{"line":85,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn h_msg(\n r: &[u8], pk_seed: &[u8], pk_root: &[u8], mprime: &[u8],\n ) -> [u8; M] {\n crate::hashers::sha2_cat_1::h_msg::(r, pk_seed, pk_root, &[mprime])\n }","attr_info":{"attributes":[],"inline":"Never","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"M","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"HashConsedValue":[8265,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":294},"Shared"]}]},{"HashConsedValue":[8266,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":294},"Shared"]}]},{"HashConsedValue":[8267,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":294},"Shared"]}]}],"output":{"Deduplicated":8133}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":4,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":6,"beg":{"line":1062,"col":0},"end":{"line":1062,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8268,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8140},"Mut"]}]}],"output":{"Deduplicated":416}},"src":{"TraitDecl":{"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":5,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":2}},{"Ident":["index",0]}],"span":{"data":{"file_id":7,"beg":{"line":390,"col":4},"end":{"line":390,"col":46}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":385,"col":9},"end":{"line":385,"col":25}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"HashConsedValue":[8148,{"Slice":{"Deduplicated":8140}}]},{"Deduplicated":8145},{"HashConsedValue":[8147,{"TypeVar":{"Free":2}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8269,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8146,{"Array":[{"Deduplicated":8140},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]},"Shared"]}]},{"Deduplicated":8145}],"output":{"HashConsedValue":[8270,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8147},"Shared"]}]}},"src":{"TraitImpl":{"impl_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8149,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":6,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_int",0]}],"span":{"data":{"file_id":11,"beg":{"line":9,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn to_int(x: &[u8], n: u32) -> u64 {\n debug_assert_eq!(x.len(), n as usize);\n debug_assert!(n <= 8);\n\n // 1: total ← 0\n let mut total = 0;\n\n // 2: for i from 0 to n − 1 do\n // Aeneas-compat: index loop instead of iter().take() (the Take iterator\n // adapter is untranslatable-clean; x.len() == n by the assert above, so\n // 0..n indexes exactly the same elements in the same order — identical).\n for i in 0..(n as usize) {\n //\n // 3: total ← 256 · total + X[i]\n total = (total << 8) + u64::from(x[i]);\n\n // 4: end for\n }\n\n // 5: return total\n total\n}","attr_info":{"attributes":[{"DocComment":" Algorithm 2: `toInt(X, n)` on page 15."},{"DocComment":" Converts a byte string to an integer."},{"DocComment":""},{"DocComment":" Input: n-byte string `X`, string length `n`.
"},{"DocComment":" Output: Integer value of `X`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"Deduplicated":490}],"output":{"Deduplicated":647}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":9,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"bound_body_regions":29,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":9,"col":42},"end":{"line":9,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":1,"name":"x","span":{"data":{"file_id":11,"beg":{"line":9,"col":21},"end":{"line":9,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":406}},{"index":2,"name":"n","span":{"data":{"file_id":11,"beg":{"line":9,"col":31},"end":{"line":9,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":4,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[1488,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[1486,{"Ref":[{"Body":5},{"Deduplicated":390},"Shared"]}]},{"HashConsedValue":[1487,{"Ref":[{"Body":6},{"Deduplicated":390},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":5,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[1489,{"Ref":[{"Body":7},{"Deduplicated":390},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":11,"beg":{"line":10,"col":21},"end":{"line":10,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":7,"name":null,"span":{"data":{"file_id":11,"beg":{"line":10,"col":21},"end":{"line":10,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[1490,{"Ref":[{"Body":8},{"Deduplicated":294},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[1491,{"Ref":[{"Body":9},{"Deduplicated":390},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":11,"beg":{"line":10,"col":30},"end":{"line":10,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":10,"name":null,"span":{"data":{"file_id":11,"beg":{"line":10,"col":30},"end":{"line":10,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":11,"name":"left_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[1492,{"Ref":[{"Body":10},{"Deduplicated":390},"Shared"]}]}},{"index":12,"name":"right_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[1493,{"Ref":[{"Body":11},{"Deduplicated":390},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":14,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":15,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":16,"name":"kind","span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[1528,{"Adt":{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},{"index":17,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":18,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[1529,{"Ref":[{"Body":12},{"Deduplicated":390},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[1530,{"Ref":[{"Body":13},{"Deduplicated":390},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[1531,{"Ref":[{"Body":14},{"Deduplicated":390},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[1532,{"Ref":[{"Body":15},{"Deduplicated":390},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"ty":{"HashConsedValue":[1600,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[1599,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":23,"name":null,"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":24,"name":null,"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":25,"name":null,"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":26,"name":"total","span":{"data":{"file_id":11,"beg":{"line":14,"col":8},"end":{"line":14,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":27,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":28,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":29,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":16},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":30,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":17},"end":{"line":20,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":31,"name":"iter","span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":32,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[1603,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}]}},{"index":33,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[1606,{"Ref":[{"Body":20},{"Deduplicated":639},"Mut"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"ty":{"HashConsedValue":[1607,{"Ref":[{"Body":21},{"Deduplicated":639},"Mut"]}]}},{"index":35,"name":"i","span":{"data":{"file_id":11,"beg":{"line":20,"col":8},"end":{"line":20,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":36,"name":null,"span":{"data":{"file_id":11,"beg":{"line":23,"col":16},"end":{"line":23,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":37,"name":null,"span":{"data":{"file_id":11,"beg":{"line":23,"col":17},"end":{"line":23,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":38,"name":null,"span":{"data":{"file_id":11,"beg":{"line":23,"col":31},"end":{"line":23,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":39,"name":null,"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":293}},{"index":40,"name":null,"span":{"data":{"file_id":11,"beg":{"line":23,"col":43},"end":{"line":23,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":41,"name":null,"span":{"data":{"file_id":11,"beg":{"line":23,"col":16},"end":{"line":23,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7364,{"Ref":["Erased",{"Deduplicated":294},"Shared"]}]}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7363,{"Ref":["Erased",{"Deduplicated":293},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":319,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":479,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":481,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":482,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":["1: total ← 0","2: for i from 0 to n − 1 do","Aeneas-compat: index loop instead of iter().take() (the Take iterator","adapter is untranslatable-clean; x.len() == n by the assert above, so","0..n indexes exactly the same elements in the same order — identical).","","3: total ← 256 · total + X[i]","4: end for","5: return total"]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":319,"col":41}},"generated_from_span":null},"id":545,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":484,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":485,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":21},"end":{"line":10,"col":28}},"generated_from_span":null},"id":486,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":21},"end":{"line":10,"col":22}},"generated_from_span":null},"id":487,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":21},"end":{"line":10,"col":22}},"generated_from_span":null},"id":488,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":1490}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":21},"end":{"line":10,"col":28}},"generated_from_span":null},"id":489,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":23}],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1490}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":390}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":27},"end":{"line":10,"col":28}},"generated_from_span":null},"id":490,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":491,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":1489}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":492,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":30},"end":{"line":10,"col":40}},"generated_from_span":null},"id":493,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":30},"end":{"line":10,"col":31}},"generated_from_span":null},"id":494,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":30},"end":{"line":10,"col":31}},"generated_from_span":null},"id":495,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":30},"end":{"line":10,"col":40}},"generated_from_span":null},"id":496,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":10,"col":39},"end":{"line":10,"col":40}},"generated_from_span":null},"id":497,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":498,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":1491}},{"Ref":{"place":{"kind":{"Local":9},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":499,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":1488}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1489}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1491}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":500,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":501,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":502,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":503,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":1492}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":1488}},{"Field":[{"Tuple":2},0]}]},"ty":{"HashConsedValue":[8271,{"Ref":[{"Body":24},{"Deduplicated":390},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":504,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":505,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":1493}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":1488}},{"Field":[{"Tuple":2},1]}]},"ty":{"HashConsedValue":[8272,{"Ref":[{"Body":25},{"Deduplicated":390},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":506,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":507,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":508,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":1492}},"Deref"]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":509,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":510,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":1493}},"Deref"]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":511,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":403}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":531,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":51,"col":113}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":513,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":514,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"id":515,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":31},"end":{"line":47,"col":64}},"generated_from_span":null},"id":516,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":1528}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":518,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":519,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1528}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":1528}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":520,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":521,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":522,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":1530}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":11},"ty":{"Deduplicated":1492}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":523,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1529}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":1530}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":524,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":525,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":526,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":1532}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":1493}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":527,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":1531}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":1532}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":528,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":529,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1600}},{"Aggregate":[{"Adt":[{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[1743,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":26}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":530,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["assert_failed",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":532,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":533,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":52,"col":16},"end":{"line":52,"col":17}},"generated_from_span":null},"id":535,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":536,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":537,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":538,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":539,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":540,"kind":{"StorageDead":4},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":321,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":546,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":549,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":550,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":568,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":24}},"generated_from_span":null},"id":552,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":19}},"generated_from_span":null},"id":553,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":19}},"generated_from_span":null},"id":554,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":24}},"generated_from_span":null},"id":555,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":403}},{"BinaryOp":["Le",{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":24}},"generated_from_span":null},"id":560,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":18},"end":{"line":11,"col":24}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":23},"end":{"line":11,"col":24}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":11,"col":23},"end":{"line":11,"col":24}},"generated_from_span":null},"id":557,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":559,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":11,"col":23},"end":{"line":11,"col":24}},"generated_from_span":null},"id":561,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":563,"kind":{"StorageDead":24},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":569,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":14,"col":8},"end":{"line":14,"col":17}},"generated_from_span":null},"id":571,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":14,"col":20},"end":{"line":14,"col":21}},"generated_from_span":null},"id":572,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":647}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","0"]}}},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":574,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":575,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":16},"end":{"line":20,"col":28}},"generated_from_span":null},"id":576,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":17},"end":{"line":20,"col":18}},"generated_from_span":null},"id":577,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":17},"end":{"line":20,"col":18}},"generated_from_span":null},"id":578,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":16},"end":{"line":20,"col":28}},"generated_from_span":null},"id":579,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":27},"end":{"line":20,"col":28}},"generated_from_span":null},"id":580,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":581,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":27},"end":{"line":20,"col":28}},"generated_from_span":null},"id":582,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":583,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"HashConsedValue":[7625,{"kind":{"TraitImpl":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2099,{"kind":{"TraitImpl":{"id":11,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":639}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":27},"end":{"line":20,"col":28}},"generated_from_span":null},"id":584,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":585,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":586,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":639}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":639}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":633,"kind":{"Loop":{"span":{"data":{"file_id":11,"beg":{"line":20,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":588,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":589,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":590,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":591,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1607}},{"Ref":{"place":{"kind":{"Local":31},"ty":{"Deduplicated":639}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":592,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1606}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":1607}},"Deref"]},"ty":{"Deduplicated":639}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":593,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":28}],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":2099}]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":1606}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":1603}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":27},"end":{"line":20,"col":28}},"generated_from_span":null},"id":594,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":599,"kind":{"Switch":{"Match":[{"kind":{"Local":32},"ty":{"Deduplicated":1603}},[[[0],{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"id":596,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":11,"beg":{"line":20,"col":13},"end":{"line":20,"col":28}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":8},"end":{"line":20,"col":9}},"generated_from_span":null},"id":600,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":8},"end":{"line":20,"col":9}},"generated_from_span":null},"id":601,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":32},"ty":{"Deduplicated":1603}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":16},"end":{"line":23,"col":28}},"generated_from_span":null},"id":602,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":17},"end":{"line":23,"col":22}},"generated_from_span":null},"id":603,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":17},"end":{"line":23,"col":22}},"generated_from_span":null},"id":604,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":16},"end":{"line":23,"col":28}},"generated_from_span":null},"id":608,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":647}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"HashConsedValue":[2106,{"Literal":{"Int":"I32"}}]}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":27},"end":{"line":23,"col":28}},"generated_from_span":null},"id":609,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":31},"end":{"line":23,"col":46}},"generated_from_span":null},"id":610,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"id":611,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":43},"end":{"line":23,"col":44}},"generated_from_span":null},"id":612,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":43},"end":{"line":23,"col":44}},"generated_from_span":null},"id":613,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"id":3118,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"id":3119,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":7364}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"id":3120,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"id":3121,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":7364}}},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":7363}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":41},"end":{"line":23,"col":45}},"generated_from_span":null},"id":617,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":293}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":43},"ty":{"Deduplicated":7363}},"Deref"]},"ty":{"Deduplicated":293}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":31},"end":{"line":23,"col":46}},"generated_from_span":null},"id":618,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":31}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":293}}}],"dest":{"kind":{"Local":38},"ty":{"Deduplicated":647}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":45},"end":{"line":23,"col":46}},"generated_from_span":null},"id":619,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":16},"end":{"line":23,"col":46}},"generated_from_span":null},"id":620,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":647}}},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":8},"end":{"line":23,"col":46}},"generated_from_span":null},"id":622,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":647}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":45},"end":{"line":23,"col":46}},"generated_from_span":null},"id":623,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":45},"end":{"line":23,"col":46}},"generated_from_span":null},"id":624,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":23,"col":46},"end":{"line":23,"col":47}},"generated_from_span":null},"id":625,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":627,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":628,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":629,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":20,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":632,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":635,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":636,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":638,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":26,"col":4},"end":{"line":26,"col":5}},"generated_from_span":null},"id":639,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":29,"col":4},"end":{"line":29,"col":9}},"generated_from_span":null},"id":641,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":30,"col":0},"end":{"line":30,"col":1}},"generated_from_span":null},"id":642,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":30,"col":1},"end":{"line":30,"col":1}},"generated_from_span":null},"id":643,"kind":"Return","comments_before":[]}]},"comments":[[14,["1: total ← 0"]],[20,["2: for i from 0 to n − 1 do","Aeneas-compat: index loop instead of iter().take() (the Take iterator","adapter is untranslatable-clean; x.len() == n by the assert above, so","0..n indexes exactly the same elements in the same order — identical)."]],[23,["","3: total ← 256 · total + X[i]"]],[26,["4: end for"]],[29,["5: return total"]]]}}},{"def_id":7,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_tree_address",0]}],"span":{"data":{"file_id":11,"beg":{"line":222,"col":4},"end":{"line":226,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn set_tree_address(&mut self, t: u64) {\n let bytes = t.to_be_bytes();\n self.f2.copy_from_slice(&bytes[..4]); // = ((t >> 32) as u32).to_be_bytes();\n self.f3.copy_from_slice(&bytes[4..]); // = (t as u32).to_be_bytes();\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8273,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":508},"Mut"]}]},{"Deduplicated":647}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":222,"col":4},"end":{"line":226,"col":5}},"generated_from_span":null},"bound_body_regions":32,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":222,"col":53},"end":{"line":222,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":222,"col":35},"end":{"line":222,"col":44}},"generated_from_span":null},"ty":{"HashConsedValue":[2131,{"Ref":[{"Body":1},{"Deduplicated":508},"Mut"]}]}},{"index":2,"name":"t","span":{"data":{"file_id":11,"beg":{"line":222,"col":46},"end":{"line":222,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":3,"name":"bytes","span":{"data":{"file_id":11,"beg":{"line":223,"col":12},"end":{"line":223,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[2134,{"Array":[{"Deduplicated":293},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}]}]}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":223,"col":20},"end":{"line":223,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":5,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":6,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[2137,{"Ref":[{"Body":3},{"Deduplicated":294},"Mut"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[2140,{"Ref":[{"Body":5},{"Deduplicated":1268},"Mut"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":32},"end":{"line":224,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[2141,{"Ref":[{"Body":7},{"Deduplicated":294},"Shared"]}]}},{"index":9,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":32},"end":{"line":224,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":1490}},{"index":10,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":38},"end":{"line":224,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[2142,{"Ref":[{"Body":9},{"Deduplicated":294},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":33},"end":{"line":224,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[2145,{"Ref":[{"Body":11},{"Deduplicated":2134},"Shared"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":11,"beg":{"line":224,"col":39},"end":{"line":224,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[2153,{"Adt":{"id":{"Adt":14},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}]}},{"index":13,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":14,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[2154,{"Ref":[{"Body":12},{"Deduplicated":294},"Mut"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[2155,{"Ref":[{"Body":13},{"Deduplicated":1268},"Mut"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":32},"end":{"line":225,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":532}},{"index":17,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":32},"end":{"line":225,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[2156,{"Ref":[{"Body":15},{"Deduplicated":294},"Shared"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":38},"end":{"line":225,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[2157,{"Ref":[{"Body":16},{"Deduplicated":294},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":33},"end":{"line":225,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[2158,{"Ref":[{"Body":17},{"Deduplicated":2134},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":11,"beg":{"line":225,"col":39},"end":{"line":225,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[2166,{"Adt":{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":644,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":223,"col":12},"end":{"line":223,"col":17}},"generated_from_span":null},"id":645,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":223,"col":20},"end":{"line":223,"col":21}},"generated_from_span":null},"id":646,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":223,"col":20},"end":{"line":223,"col":21}},"generated_from_span":null},"id":647,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":223,"col":20},"end":{"line":223,"col":35}},"generated_from_span":null},"id":648,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":33}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":647}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":2134}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":223,"col":34},"end":{"line":223,"col":35}},"generated_from_span":null},"id":649,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":44}},"generated_from_span":null},"id":650,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":15}},"generated_from_span":null},"id":651,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":15}},"generated_from_span":null},"id":652,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":15}},"generated_from_span":null},"id":653,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2140}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":15}},"generated_from_span":null},"id":654,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceMut"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2140}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":2137}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":14},"end":{"line":224,"col":15}},"generated_from_span":null},"id":655,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":32},"end":{"line":224,"col":43}},"generated_from_span":null},"id":656,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":32},"end":{"line":224,"col":43}},"generated_from_span":null},"id":657,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":38},"end":{"line":224,"col":43}},"generated_from_span":null},"id":658,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":33},"end":{"line":224,"col":38}},"generated_from_span":null},"id":659,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":33},"end":{"line":224,"col":38}},"generated_from_span":null},"id":660,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2145}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":2134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":39},"end":{"line":224,"col":42}},"generated_from_span":null},"id":661,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":39},"end":{"line":224,"col":42}},"generated_from_span":null},"id":662,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":2153}},{"Aggregate":[{"Adt":[{"id":{"Adt":14},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":38},"end":{"line":224,"col":43}},"generated_from_span":null},"id":663,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":20}],"types":[{"Deduplicated":293},{"Deduplicated":2153},{"Deduplicated":294}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8275,{"kind":{"TraitImpl":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":293},{"Deduplicated":2153},{"Deduplicated":294}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8274,{"kind":{"TraitImpl":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":294},{"Deduplicated":294}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":294},{"Deduplicated":2153},{"Deduplicated":294}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2145}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":2153}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":2142}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":42},"end":{"line":224,"col":43}},"generated_from_span":null},"id":664,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":42},"end":{"line":224,"col":43}},"generated_from_span":null},"id":665,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":32},"end":{"line":224,"col":43}},"generated_from_span":null},"id":666,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":1490}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2142}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":2142}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":32},"end":{"line":224,"col":43}},"generated_from_span":null},"id":667,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2141}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":1490}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":1490}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":8},"end":{"line":224,"col":44}},"generated_from_span":null},"id":668,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":34}},"generics":{"regions":[{"Body":23},{"Body":24}],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2227,{"kind":{"TraitImpl":{"id":14,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":2137}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2141}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":43},"end":{"line":224,"col":44}},"generated_from_span":null},"id":669,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":43},"end":{"line":224,"col":44}},"generated_from_span":null},"id":670,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":44},"end":{"line":224,"col":45}},"generated_from_span":null},"id":671,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":44},"end":{"line":224,"col":45}},"generated_from_span":null},"id":672,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":224,"col":44},"end":{"line":224,"col":45}},"generated_from_span":null},"id":673,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":44}},"generated_from_span":null},"id":674,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":15}},"generated_from_span":null},"id":675,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":15}},"generated_from_span":null},"id":676,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":15}},"generated_from_span":null},"id":677,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2155}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},3]}]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":15}},"generated_from_span":null},"id":678,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceMut"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2155}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":2154}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":14},"end":{"line":225,"col":15}},"generated_from_span":null},"id":679,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":32},"end":{"line":225,"col":43}},"generated_from_span":null},"id":680,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":32},"end":{"line":225,"col":43}},"generated_from_span":null},"id":681,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":38},"end":{"line":225,"col":43}},"generated_from_span":null},"id":682,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":33},"end":{"line":225,"col":38}},"generated_from_span":null},"id":683,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":33},"end":{"line":225,"col":38}},"generated_from_span":null},"id":684,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":2158}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":2134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":39},"end":{"line":225,"col":42}},"generated_from_span":null},"id":685,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":39},"end":{"line":225,"col":42}},"generated_from_span":null},"id":686,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":2166}},{"Aggregate":[{"Adt":[{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":38},"end":{"line":225,"col":43}},"generated_from_span":null},"id":687,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":5}},"generics":{"regions":[{"Body":27}],"types":[{"Deduplicated":293},{"Deduplicated":2166},{"Deduplicated":294}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","8"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8277,{"kind":{"TraitImpl":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":293},{"Deduplicated":2166},{"Deduplicated":294}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8276,{"kind":{"TraitImpl":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":294},{"Deduplicated":294}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":294},{"Deduplicated":2166},{"Deduplicated":294}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":2158}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":2166}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":2157}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":42},"end":{"line":225,"col":43}},"generated_from_span":null},"id":688,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":42},"end":{"line":225,"col":43}},"generated_from_span":null},"id":689,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":32},"end":{"line":225,"col":43}},"generated_from_span":null},"id":690,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2156}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2157}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":2157}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":32},"end":{"line":225,"col":43}},"generated_from_span":null},"id":691,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":532}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2156}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":17},"ty":{"Deduplicated":2156}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":8},"end":{"line":225,"col":44}},"generated_from_span":null},"id":692,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":34}},"generics":{"regions":[{"Body":30},{"Body":31}],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"Deduplicated":2227}]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":2154}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":532}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":43},"end":{"line":225,"col":44}},"generated_from_span":null},"id":693,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":43},"end":{"line":225,"col":44}},"generated_from_span":null},"id":694,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":44},"end":{"line":225,"col":45}},"generated_from_span":null},"id":695,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":44},"end":{"line":225,"col":45}},"generated_from_span":null},"id":696,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":225,"col":44},"end":{"line":225,"col":45}},"generated_from_span":null},"id":697,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":222,"col":54},"end":{"line":226,"col":5}},"generated_from_span":null},"id":698,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":226,"col":4},"end":{"line":226,"col":5}},"generated_from_span":null},"id":699,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":226,"col":5},"end":{"line":226,"col":5}},"generated_from_span":null},"id":700,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":8,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_type_and_clear",0]}],"span":{"data":{"file_id":11,"beg":{"line":215,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn set_type_and_clear(&mut self, type_t: u32) {\n self.f4 = type_t.to_be_bytes();\n self.f5 = 0u32.to_be_bytes();\n self.f6 = 0u32.to_be_bytes();\n self.f7 = 0u32.to_be_bytes();\n }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":215,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":215,"col":60},"end":{"line":215,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":215,"col":37},"end":{"line":215,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"type_t","span":{"data":{"file_id":11,"beg":{"line":215,"col":48},"end":{"line":215,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":216,"col":18},"end":{"line":216,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":216,"col":18},"end":{"line":216,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":5,"name":null,"span":{"data":{"file_id":11,"beg":{"line":217,"col":18},"end":{"line":217,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":6,"name":null,"span":{"data":{"file_id":11,"beg":{"line":218,"col":18},"end":{"line":218,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":7,"name":null,"span":{"data":{"file_id":11,"beg":{"line":219,"col":18},"end":{"line":219,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1268}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":701,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":18},"end":{"line":216,"col":38}},"generated_from_span":null},"id":702,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":18},"end":{"line":216,"col":24}},"generated_from_span":null},"id":703,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":18},"end":{"line":216,"col":24}},"generated_from_span":null},"id":704,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":18},"end":{"line":216,"col":38}},"generated_from_span":null},"id":705,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":37},"end":{"line":216,"col":38}},"generated_from_span":null},"id":706,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":8},"end":{"line":216,"col":38}},"generated_from_span":null},"id":707,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},4]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":216,"col":37},"end":{"line":216,"col":38}},"generated_from_span":null},"id":708,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":217,"col":18},"end":{"line":217,"col":36}},"generated_from_span":null},"id":709,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":217,"col":18},"end":{"line":217,"col":36}},"generated_from_span":null},"id":710,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":217,"col":8},"end":{"line":217,"col":36}},"generated_from_span":null},"id":711,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},5]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":217,"col":35},"end":{"line":217,"col":36}},"generated_from_span":null},"id":712,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":218,"col":18},"end":{"line":218,"col":36}},"generated_from_span":null},"id":713,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":218,"col":18},"end":{"line":218,"col":36}},"generated_from_span":null},"id":714,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":218,"col":8},"end":{"line":218,"col":36}},"generated_from_span":null},"id":715,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},6]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":218,"col":35},"end":{"line":218,"col":36}},"generated_from_span":null},"id":716,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":219,"col":18},"end":{"line":219,"col":36}},"generated_from_span":null},"id":717,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":219,"col":18},"end":{"line":219,"col":36}},"generated_from_span":null},"id":718,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":219,"col":8},"end":{"line":219,"col":36}},"generated_from_span":null},"id":719,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},7]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":219,"col":35},"end":{"line":219,"col":36}},"generated_from_span":null},"id":720,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":215,"col":61},"end":{"line":220,"col":5}},"generated_from_span":null},"id":721,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":220,"col":5},"end":{"line":220,"col":5}},"generated_from_span":null},"id":722,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_key_pair_address",0]}],"span":{"data":{"file_id":11,"beg":{"line":211,"col":4},"end":{"line":211,"col":100}},"generated_from_span":null},"source_text":"pub(crate) fn set_key_pair_address(&mut self, kp_addr: u32) { self.f5 = kp_addr.to_be_bytes(); }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":211,"col":4},"end":{"line":211,"col":100}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":211,"col":63},"end":{"line":211,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":211,"col":39},"end":{"line":211,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"kp_addr","span":{"data":{"file_id":11,"beg":{"line":211,"col":50},"end":{"line":211,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":211,"col":76},"end":{"line":211,"col":97}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":211,"col":76},"end":{"line":211,"col":83}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":723,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":76},"end":{"line":211,"col":97}},"generated_from_span":null},"id":724,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":76},"end":{"line":211,"col":83}},"generated_from_span":null},"id":725,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":76},"end":{"line":211,"col":83}},"generated_from_span":null},"id":726,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":76},"end":{"line":211,"col":97}},"generated_from_span":null},"id":727,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":96},"end":{"line":211,"col":97}},"generated_from_span":null},"id":728,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":66},"end":{"line":211,"col":97}},"generated_from_span":null},"id":729,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},5]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":96},"end":{"line":211,"col":97}},"generated_from_span":null},"id":730,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":64},"end":{"line":211,"col":100}},"generated_from_span":null},"id":731,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":211,"col":100},"end":{"line":211,"col":100}},"generated_from_span":null},"id":732,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["fors_pk_from_sig_free",0]}],"span":{"data":{"file_id":0,"beg":{"line":228,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn fors_pk_from_sig_free(\n sig_fors: &ForsSig, md: &[u8], pk_seed: &[u8], adrs: &Adrs,\n) -> ForsPk {\n let (a32, k32) = (A as u32, K as u32); // Aeneas-compat: lossless casts\n let mut adrs = adrs.clone();\n\n let mut indices = [0u32; K];\n base_2b(md, a32, k32, &mut indices);\n\n let mut root = [[0u8; N]; K];\n for i in 0..k32 {\n let sk = sig_fors.private_key_value[i as usize];\n\n adrs.set_tree_height(0);\n adrs.set_tree_index((i << a32) + indices[i as usize]);\n\n let mut node_0 = oracle::f::(pk_seed, &adrs, &sk);\n\n let auth = sig_fors.auth[i as usize].clone();\n\n for j in 0..a32 {\n adrs.set_tree_height(j + 1);\n let node_1 = if ((indices[i as usize] >> j) & 0x01) == 0 {\n let tmp = adrs.get_tree_index() / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &node_0, &auth.tree[j as usize])\n } else {\n let tmp = (adrs.get_tree_index() - 1) / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &auth.tree[j as usize], &node_0)\n };\n node_0 = node_1;\n }\n\n root[i as usize] = node_0;\n }\n\n let mut fors_pk_adrs = adrs.clone();\n fors_pk_adrs.set_type_and_clear(FORS_ROOTS);\n fors_pk_adrs.set_key_pair_address(adrs.get_key_pair_address());\n let pk = oracle::t_len::(pk_seed, &fors_pk_adrs, &root);\n ForsPk { key: pk }\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"K","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8279,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8278,{"Adt":{"id":{"Adt":2},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]},{"Deduplicated":8265},{"Deduplicated":8266},{"HashConsedValue":[8280,{"Ref":[{"Var":{"Free":3}},{"Deduplicated":508},"Shared"]}]}],"output":{"HashConsedValue":[8281,{"Adt":{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":228,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"bound_body_regions":138,"locals":{"arg_count":4,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":230,"col":5},"end":{"line":230,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":8281}},{"index":1,"name":"sig_fors","span":{"data":{"file_id":0,"beg":{"line":229,"col":4},"end":{"line":229,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[8282,{"Ref":[{"Body":1},{"Deduplicated":8278},"Shared"]}]}},{"index":2,"name":"md","span":{"data":{"file_id":0,"beg":{"line":229,"col":33},"end":{"line":229,"col":35}},"generated_from_span":null},"ty":{"HashConsedValue":[2429,{"Ref":[{"Body":3},{"Deduplicated":294},"Shared"]}]}},{"index":3,"name":"pk_seed","span":{"data":{"file_id":0,"beg":{"line":229,"col":44},"end":{"line":229,"col":51}},"generated_from_span":null},"ty":{"HashConsedValue":[2430,{"Ref":[{"Body":4},{"Deduplicated":294},"Shared"]}]}},{"index":4,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":229,"col":60},"end":{"line":229,"col":64}},"generated_from_span":null},"ty":{"HashConsedValue":[2432,{"Ref":[{"Body":6},{"Deduplicated":508},"Shared"]}]}},{"index":5,"name":"a32","span":{"data":{"file_id":0,"beg":{"line":231,"col":9},"end":{"line":231,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":6,"name":"k32","span":{"data":{"file_id":0,"beg":{"line":231,"col":14},"end":{"line":231,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":231,"col":21},"end":{"line":231,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":494}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":231,"col":22},"end":{"line":231,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":9,"name":null,"span":{"data":{"file_id":0,"beg":{"line":231,"col":32},"end":{"line":231,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":10,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":232,"col":8},"end":{"line":232,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":232,"col":19},"end":{"line":232,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2433,{"Ref":[{"Body":7},{"Deduplicated":508},"Shared"]}]}},{"index":12,"name":"indices","span":{"data":{"file_id":0,"beg":{"line":234,"col":8},"end":{"line":234,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8283,{"Array":[{"Deduplicated":490},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}]}]}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":4},"end":{"line":235,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":12},"end":{"line":235,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":1490}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":16},"end":{"line":235,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":21},"end":{"line":235,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[2442,{"Ref":[{"Body":10},{"HashConsedValue":[2440,{"Slice":{"Deduplicated":490}}]},"Mut"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[8284,{"Ref":[{"Body":12},{"Deduplicated":8283},"Mut"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[8285,{"Ref":[{"Body":13},{"Deduplicated":8283},"Mut"]}]}},{"index":20,"name":"root","span":{"data":{"file_id":0,"beg":{"line":237,"col":8},"end":{"line":237,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":8135}},{"index":21,"name":null,"span":{"data":{"file_id":0,"beg":{"line":237,"col":20},"end":{"line":237,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":22,"name":null,"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[2449,{"Adt":{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}]}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":238,"col":16},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":25,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[2452,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}]}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[2455,{"Ref":[{"Body":15},{"Deduplicated":2449},"Mut"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[2456,{"Ref":[{"Body":16},{"Deduplicated":2449},"Mut"]}]}},{"index":29,"name":"i","span":{"data":{"file_id":0,"beg":{"line":238,"col":8},"end":{"line":238,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":30,"name":"sk","span":{"data":{"file_id":0,"beg":{"line":239,"col":12},"end":{"line":239,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":239,"col":44},"end":{"line":239,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":239,"col":44},"end":{"line":239,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":241,"col":8},"end":{"line":241,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":241,"col":8},"end":{"line":241,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[2458,{"Ref":[{"Body":18},{"Deduplicated":508},"Mut"]}]}},{"index":35,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":8},"end":{"line":242,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":36,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":8},"end":{"line":242,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[2459,{"Ref":[{"Body":19},{"Deduplicated":508},"Mut"]}]}},{"index":37,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":38,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":29},"end":{"line":242,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":34},"end":{"line":242,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":49},"end":{"line":242,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":49},"end":{"line":242,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":45,"name":"node_0","span":{"data":{"file_id":0,"beg":{"line":244,"col":12},"end":{"line":244,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":244,"col":40},"end":{"line":244,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":538}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":244,"col":49},"end":{"line":244,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[2460,{"Ref":[{"Body":21},{"Deduplicated":508},"Shared"]}]}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":244,"col":49},"end":{"line":244,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[2461,{"Ref":[{"Body":22},{"Deduplicated":508},"Shared"]}]}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[2462,{"Ref":[{"Body":23},{"Deduplicated":294},"Shared"]}]}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[8286,{"Ref":[{"Body":25},{"Deduplicated":8134},"Shared"]}]}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[8287,{"Ref":[{"Body":26},{"Deduplicated":8134},"Shared"]}]}},{"index":52,"name":"auth","span":{"data":{"file_id":0,"beg":{"line":246,"col":12},"end":{"line":246,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":8136}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"ty":{"HashConsedValue":[8288,{"Ref":[{"Body":28},{"Deduplicated":8136},"Shared"]}]}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":246,"col":33},"end":{"line":246,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":246,"col":33},"end":{"line":246,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":248,"col":20},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":59,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2452}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2470,{"Ref":[{"Body":29},{"Deduplicated":2449},"Mut"]}]}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[2471,{"Ref":[{"Body":30},{"Deduplicated":2449},"Mut"]}]}},{"index":63,"name":"j","span":{"data":{"file_id":0,"beg":{"line":248,"col":12},"end":{"line":248,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":249,"col":12},"end":{"line":249,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":249,"col":12},"end":{"line":249,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[2472,{"Ref":[{"Body":31},{"Deduplicated":508},"Mut"]}]}},{"index":66,"name":null,"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":69,"name":"node_1","span":{"data":{"file_id":0,"beg":{"line":250,"col":16},"end":{"line":250,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":70,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":28},"end":{"line":250,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":71,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":28},"end":{"line":250,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":29},"end":{"line":250,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":38},"end":{"line":250,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":38},"end":{"line":250,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":250,"col":53},"end":{"line":250,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":77,"name":"tmp","span":{"data":{"file_id":0,"beg":{"line":251,"col":20},"end":{"line":251,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":78,"name":null,"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[2473,{"Ref":[{"Body":32},{"Deduplicated":508},"Mut"]}]}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":252,"col":16},"end":{"line":252,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":81,"name":null,"span":{"data":{"file_id":0,"beg":{"line":252,"col":16},"end":{"line":252,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[657,{"Ref":[{"Body":33},{"Deduplicated":508},"Mut"]}]}},{"index":82,"name":null,"span":{"data":{"file_id":0,"beg":{"line":252,"col":36},"end":{"line":252,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":83,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":31},"end":{"line":253,"col":38}},"generated_from_span":null},"ty":{"HashConsedValue":[2474,{"Ref":[{"Body":34},{"Deduplicated":294},"Shared"]}]}},{"index":84,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":40},"end":{"line":253,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[2475,{"Ref":[{"Body":35},{"Deduplicated":508},"Shared"]}]}},{"index":85,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":40},"end":{"line":253,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[2476,{"Ref":[{"Body":36},{"Deduplicated":508},"Shared"]}]}},{"index":86,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[2477,{"Ref":[{"Body":37},{"Deduplicated":294},"Shared"]}]}},{"index":87,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[8289,{"Ref":[{"Body":38},{"Deduplicated":8134},"Shared"]}]}},{"index":88,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"ty":{"HashConsedValue":[8290,{"Ref":[{"Body":39},{"Deduplicated":8134},"Shared"]}]}},{"index":89,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"ty":{"HashConsedValue":[2480,{"Ref":[{"Body":40},{"Deduplicated":294},"Shared"]}]}},{"index":90,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"ty":{"HashConsedValue":[8291,{"Ref":[{"Body":41},{"Deduplicated":8134},"Shared"]}]}},{"index":91,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"ty":{"HashConsedValue":[8292,{"Ref":[{"Body":42},{"Deduplicated":8134},"Shared"]}]}},{"index":92,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":67},"end":{"line":253,"col":77}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":93,"name":null,"span":{"data":{"file_id":0,"beg":{"line":253,"col":67},"end":{"line":253,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":94,"name":"tmp","span":{"data":{"file_id":0,"beg":{"line":255,"col":20},"end":{"line":255,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":95,"name":null,"span":{"data":{"file_id":0,"beg":{"line":255,"col":26},"end":{"line":255,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":96,"name":null,"span":{"data":{"file_id":0,"beg":{"line":255,"col":27},"end":{"line":255,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":97,"name":null,"span":{"data":{"file_id":0,"beg":{"line":255,"col":27},"end":{"line":255,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[2483,{"Ref":[{"Body":43},{"Deduplicated":508},"Mut"]}]}},{"index":98,"name":null,"span":{"data":{"file_id":0,"beg":{"line":255,"col":26},"end":{"line":255,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":99,"name":null,"span":{"data":{"file_id":0,"beg":{"line":256,"col":16},"end":{"line":256,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":100,"name":null,"span":{"data":{"file_id":0,"beg":{"line":256,"col":16},"end":{"line":256,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[2484,{"Ref":[{"Body":44},{"Deduplicated":508},"Mut"]}]}},{"index":101,"name":null,"span":{"data":{"file_id":0,"beg":{"line":256,"col":36},"end":{"line":256,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":102,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":31},"end":{"line":257,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":678}},{"index":103,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":40},"end":{"line":257,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[2485,{"Ref":[{"Body":46},{"Deduplicated":508},"Shared"]}]}},{"index":104,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":40},"end":{"line":257,"col":45}},"generated_from_span":null},"ty":{"HashConsedValue":[2486,{"Ref":[{"Body":47},{"Deduplicated":508},"Shared"]}]}},{"index":105,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[2487,{"Ref":[{"Body":48},{"Deduplicated":294},"Shared"]}]}},{"index":106,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8293,{"Ref":[{"Body":49},{"Deduplicated":8134},"Shared"]}]}},{"index":107,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8294,{"Ref":[{"Body":50},{"Deduplicated":8134},"Shared"]}]}},{"index":108,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":58},"end":{"line":257,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":109,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":58},"end":{"line":257,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":110,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"ty":{"HashConsedValue":[2490,{"Ref":[{"Body":51},{"Deduplicated":294},"Shared"]}]}},{"index":111,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"ty":{"HashConsedValue":[8295,{"Ref":[{"Body":52},{"Deduplicated":8134},"Shared"]}]}},{"index":112,"name":null,"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"ty":{"HashConsedValue":[8296,{"Ref":[{"Body":53},{"Deduplicated":8134},"Shared"]}]}},{"index":113,"name":null,"span":{"data":{"file_id":0,"beg":{"line":259,"col":21},"end":{"line":259,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":114,"name":null,"span":{"data":{"file_id":0,"beg":{"line":262,"col":27},"end":{"line":262,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":115,"name":null,"span":{"data":{"file_id":0,"beg":{"line":262,"col":13},"end":{"line":262,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":116,"name":null,"span":{"data":{"file_id":0,"beg":{"line":262,"col":13},"end":{"line":262,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":117,"name":"fors_pk_adrs","span":{"data":{"file_id":0,"beg":{"line":265,"col":8},"end":{"line":265,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":118,"name":null,"span":{"data":{"file_id":0,"beg":{"line":265,"col":27},"end":{"line":265,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[2493,{"Ref":[{"Body":54},{"Deduplicated":508},"Shared"]}]}},{"index":119,"name":null,"span":{"data":{"file_id":0,"beg":{"line":266,"col":4},"end":{"line":266,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":120,"name":null,"span":{"data":{"file_id":0,"beg":{"line":266,"col":4},"end":{"line":266,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[2494,{"Ref":[{"Body":55},{"Deduplicated":508},"Mut"]}]}},{"index":121,"name":null,"span":{"data":{"file_id":0,"beg":{"line":267,"col":4},"end":{"line":267,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":122,"name":null,"span":{"data":{"file_id":0,"beg":{"line":267,"col":4},"end":{"line":267,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[2495,{"Ref":[{"Body":56},{"Deduplicated":508},"Mut"]}]}},{"index":123,"name":null,"span":{"data":{"file_id":0,"beg":{"line":267,"col":38},"end":{"line":267,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":124,"name":null,"span":{"data":{"file_id":0,"beg":{"line":267,"col":38},"end":{"line":267,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[2496,{"Ref":[{"Body":57},{"Deduplicated":508},"Shared"]}]}},{"index":125,"name":"pk","span":{"data":{"file_id":0,"beg":{"line":268,"col":8},"end":{"line":268,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":126,"name":null,"span":{"data":{"file_id":0,"beg":{"line":268,"col":35},"end":{"line":268,"col":42}},"generated_from_span":null},"ty":{"HashConsedValue":[2497,{"Ref":[{"Body":58},{"Deduplicated":294},"Shared"]}]}},{"index":127,"name":null,"span":{"data":{"file_id":0,"beg":{"line":268,"col":44},"end":{"line":268,"col":57}},"generated_from_span":null},"ty":{"HashConsedValue":[2498,{"Ref":[{"Body":59},{"Deduplicated":508},"Shared"]}]}},{"index":128,"name":null,"span":{"data":{"file_id":0,"beg":{"line":268,"col":44},"end":{"line":268,"col":57}},"generated_from_span":null},"ty":{"HashConsedValue":[2499,{"Ref":[{"Body":60},{"Deduplicated":508},"Shared"]}]}},{"index":129,"name":null,"span":{"data":{"file_id":0,"beg":{"line":268,"col":59},"end":{"line":268,"col":64}},"generated_from_span":null},"ty":{"HashConsedValue":[8297,{"Ref":[{"Body":62},{"Deduplicated":8135},"Shared"]}]}},{"index":130,"name":null,"span":{"data":{"file_id":0,"beg":{"line":268,"col":59},"end":{"line":268,"col":64}},"generated_from_span":null},"ty":{"HashConsedValue":[8298,{"Ref":[{"Body":63},{"Deduplicated":8135},"Shared"]}]}},{"index":131,"name":null,"span":{"data":{"file_id":0,"beg":{"line":269,"col":18},"end":{"line":269,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":132,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8299,{"Ref":["Erased",{"Deduplicated":8144},"Shared"]}]}},{"index":133,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8300,{"Ref":["Erased",{"Deduplicated":8134},"Shared"]}]}},{"index":134,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8299}},{"index":135,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8300}},{"index":136,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8301,{"Ref":["Erased",{"Deduplicated":8283},"Shared"]}]}},{"index":137,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[6768,{"Ref":["Erased",{"Deduplicated":490},"Shared"]}]}},{"index":138,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8302,{"Ref":["Erased",{"Deduplicated":8135},"Shared"]}]}},{"index":139,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8300}},{"index":140,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8301}},{"index":141,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":6768}},{"index":142,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8303,{"Ref":["Erased",{"Deduplicated":8137},"Shared"]}]}},{"index":143,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8304,{"Ref":["Erased",{"Deduplicated":8136},"Shared"]}]}},{"index":144,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8305,{"Ref":["Erased",{"Deduplicated":8135},"Mut"]}]}},{"index":145,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8306,{"Ref":["Erased",{"Deduplicated":8134},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":231,"col":9},"end":{"line":270,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":231,"col":21},"end":{"line":231,"col":41}},"generated_from_span":null},"id":738,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":21},"end":{"line":231,"col":41}},"generated_from_span":null},"id":741,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":21},"end":{"line":231,"col":41}},"generated_from_span":null},"id":746,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":21},"end":{"line":231,"col":41}},"generated_from_span":null},"id":750,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":22},"end":{"line":231,"col":30}},"generated_from_span":null},"id":751,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":22},"end":{"line":231,"col":30}},"generated_from_span":null},"id":752,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":32},"end":{"line":231,"col":40}},"generated_from_span":null},"id":753,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":32},"end":{"line":231,"col":40}},"generated_from_span":null},"id":754,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":21},"end":{"line":231,"col":41}},"generated_from_span":null},"id":755,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":494}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":40},"end":{"line":231,"col":41}},"generated_from_span":null},"id":756,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":40},"end":{"line":231,"col":41}},"generated_from_span":null},"id":757,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":9},"end":{"line":231,"col":12}},"generated_from_span":null},"id":758,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":9},"end":{"line":231,"col":12}},"generated_from_span":null},"id":759,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":494}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":14},"end":{"line":231,"col":17}},"generated_from_span":null},"id":760,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":14},"end":{"line":231,"col":17}},"generated_from_span":null},"id":761,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":494}},{"Field":[{"Tuple":2},1]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":231,"col":41},"end":{"line":231,"col":42}},"generated_from_span":null},"id":762,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":232,"col":8},"end":{"line":232,"col":16}},"generated_from_span":null},"id":763,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":232,"col":19},"end":{"line":232,"col":23}},"generated_from_span":null},"id":764,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":232,"col":19},"end":{"line":232,"col":23}},"generated_from_span":null},"id":765,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":2433}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2432}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":232,"col":19},"end":{"line":232,"col":31}},"generated_from_span":null},"id":766,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":65}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":2433}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":232,"col":30},"end":{"line":232,"col":31}},"generated_from_span":null},"id":767,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":234,"col":8},"end":{"line":234,"col":19}},"generated_from_span":null},"id":768,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":234,"col":22},"end":{"line":234,"col":31}},"generated_from_span":null},"id":769,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":8283}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":4},"end":{"line":235,"col":39}},"generated_from_span":null},"id":770,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":12},"end":{"line":235,"col":14}},"generated_from_span":null},"id":771,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":12},"end":{"line":235,"col":14}},"generated_from_span":null},"id":772,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":1490}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2429}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2429}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":16},"end":{"line":235,"col":19}},"generated_from_span":null},"id":773,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":16},"end":{"line":235,"col":19}},"generated_from_span":null},"id":774,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":21},"end":{"line":235,"col":24}},"generated_from_span":null},"id":775,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":21},"end":{"line":235,"col":24}},"generated_from_span":null},"id":776,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"id":777,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"id":778,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"id":779,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"id":780,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":8285}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":8283}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"id":781,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":8284}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":8285}},"Deref"]},"ty":{"Deduplicated":8283}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":26},"end":{"line":235,"col":38}},"generated_from_span":null},"id":782,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceMut"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":8284}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":2442}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":37},"end":{"line":235,"col":38}},"generated_from_span":null},"id":783,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":4},"end":{"line":235,"col":39}},"generated_from_span":null},"id":784,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":38}},"generics":{"regions":[{"Body":69},{"Body":70}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1490}}},{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2442}}}],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":38},"end":{"line":235,"col":39}},"generated_from_span":null},"id":785,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":38},"end":{"line":235,"col":39}},"generated_from_span":null},"id":786,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":38},"end":{"line":235,"col":39}},"generated_from_span":null},"id":787,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":38},"end":{"line":235,"col":39}},"generated_from_span":null},"id":788,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":39},"end":{"line":235,"col":40}},"generated_from_span":null},"id":789,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":235,"col":39},"end":{"line":235,"col":40}},"generated_from_span":null},"id":790,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":237,"col":8},"end":{"line":237,"col":16}},"generated_from_span":null},"id":791,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":237,"col":20},"end":{"line":237,"col":28}},"generated_from_span":null},"id":792,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":237,"col":20},"end":{"line":237,"col":28}},"generated_from_span":null},"id":793,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":293}}}],"dest":{"kind":{"Local":21},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":237,"col":19},"end":{"line":237,"col":32}},"generated_from_span":null},"id":794,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":8134}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":8135}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":237,"col":31},"end":{"line":237,"col":32}},"generated_from_span":null},"id":795,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":797,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":798,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":16},"end":{"line":238,"col":19}},"generated_from_span":null},"id":799,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":16},"end":{"line":238,"col":19}},"generated_from_span":null},"id":800,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":801,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":2449}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":18},"end":{"line":238,"col":19}},"generated_from_span":null},"id":802,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":803,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"HashConsedValue":[7637,{"kind":{"TraitImpl":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"HashConsedValue":[2562,{"kind":{"TraitImpl":{"id":17,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":2449}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":2449}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":18},"end":{"line":238,"col":19}},"generated_from_span":null},"id":804,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":805,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":806,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":2449}},{"Use":[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":2449}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1135,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":238,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":808,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":809,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":810,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":811,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":2456}},{"Ref":{"place":{"kind":{"Local":25},"ty":{"Deduplicated":2449}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":812,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2455}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":2456}},"Deref"]},"ty":{"Deduplicated":2449}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":813,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":73}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":2562}]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":2455}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":2452}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":18},"end":{"line":238,"col":19}},"generated_from_span":null},"id":814,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":819,"kind":{"Switch":{"Match":[{"kind":{"Local":26},"ty":{"Deduplicated":2452}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"id":816,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":238,"col":13},"end":{"line":238,"col":19}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":8},"end":{"line":238,"col":9}},"generated_from_span":null},"id":820,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":8},"end":{"line":238,"col":9}},"generated_from_span":null},"id":821,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":26},"ty":{"Deduplicated":2452}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":12},"end":{"line":239,"col":14}},"generated_from_span":null},"id":822,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":44},"end":{"line":239,"col":54}},"generated_from_span":null},"id":823,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":44},"end":{"line":239,"col":45}},"generated_from_span":null},"id":824,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":44},"end":{"line":239,"col":45}},"generated_from_span":null},"id":825,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":44},"end":{"line":239,"col":54}},"generated_from_span":null},"id":826,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":53},"end":{"line":239,"col":54}},"generated_from_span":null},"id":827,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":17},"end":{"line":239,"col":55}},"generated_from_span":null},"id":3134,"kind":{"StorageLive":138},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":17},"end":{"line":239,"col":55}},"generated_from_span":null},"id":3135,"kind":{"Assign":[{"kind":{"Local":138},"ty":{"Deduplicated":8302}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8282}},"Deref"]},"ty":{"Deduplicated":8278}},{"Field":[{"Adt":[2,null]},0]}]},"ty":{"Deduplicated":8135}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":17},"end":{"line":239,"col":55}},"generated_from_span":null},"id":3136,"kind":{"StorageLive":139},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":17},"end":{"line":239,"col":55}},"generated_from_span":null},"id":3137,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":138},"ty":{"Deduplicated":8302}}},{"Copy":{"kind":{"Local":31},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":139},"ty":{"Deduplicated":8300}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":17},"end":{"line":239,"col":55}},"generated_from_span":null},"id":830,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":139},"ty":{"Deduplicated":8300}},"Deref"]},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":239,"col":55},"end":{"line":239,"col":56}},"generated_from_span":null},"id":831,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":241,"col":8},"end":{"line":241,"col":31}},"generated_from_span":null},"id":832,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":241,"col":8},"end":{"line":241,"col":12}},"generated_from_span":null},"id":833,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":241,"col":8},"end":{"line":241,"col":12}},"generated_from_span":null},"id":834,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2458}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":241,"col":8},"end":{"line":241,"col":31}},"generated_from_span":null},"id":835,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":39}},"generics":{"regions":[{"Body":77}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":2458}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":33},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":241,"col":30},"end":{"line":241,"col":31}},"generated_from_span":null},"id":836,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":241,"col":31},"end":{"line":241,"col":32}},"generated_from_span":null},"id":837,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":8},"end":{"line":242,"col":61}},"generated_from_span":null},"id":838,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":8},"end":{"line":242,"col":12}},"generated_from_span":null},"id":839,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":8},"end":{"line":242,"col":12}},"generated_from_span":null},"id":840,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":2459}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":60}},"generated_from_span":null},"id":841,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":38}},"generated_from_span":null},"id":842,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":29},"end":{"line":242,"col":30}},"generated_from_span":null},"id":843,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":29},"end":{"line":242,"col":30}},"generated_from_span":null},"id":844,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":34},"end":{"line":242,"col":37}},"generated_from_span":null},"id":845,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":34},"end":{"line":242,"col":37}},"generated_from_span":null},"id":846,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":38}},"generated_from_span":null},"id":849,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":37},"end":{"line":242,"col":38}},"generated_from_span":null},"id":850,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":37},"end":{"line":242,"col":38}},"generated_from_span":null},"id":851,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"id":852,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":49},"end":{"line":242,"col":59}},"generated_from_span":null},"id":853,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":49},"end":{"line":242,"col":50}},"generated_from_span":null},"id":854,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":49},"end":{"line":242,"col":50}},"generated_from_span":null},"id":855,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":49},"end":{"line":242,"col":59}},"generated_from_span":null},"id":856,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":58},"end":{"line":242,"col":59}},"generated_from_span":null},"id":857,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"id":3138,"kind":{"StorageLive":140},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"id":3139,"kind":{"Assign":[{"kind":{"Local":140},"ty":{"Deduplicated":8301}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":8283}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"id":3140,"kind":{"StorageLive":141},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"id":3141,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":140},"ty":{"Deduplicated":8301}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":141},"ty":{"Deduplicated":6768}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":41},"end":{"line":242,"col":60}},"generated_from_span":null},"id":860,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":141},"ty":{"Deduplicated":6768}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":60}},"generated_from_span":null},"id":861,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":38},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":28},"end":{"line":242,"col":60}},"generated_from_span":null},"id":863,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":59},"end":{"line":242,"col":60}},"generated_from_span":null},"id":864,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":59},"end":{"line":242,"col":60}},"generated_from_span":null},"id":865,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":8},"end":{"line":242,"col":61}},"generated_from_span":null},"id":866,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":42}},"generics":{"regions":[{"Body":92}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":36},"ty":{"Deduplicated":2459}}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":35},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":60},"end":{"line":242,"col":61}},"generated_from_span":null},"id":867,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":60},"end":{"line":242,"col":61}},"generated_from_span":null},"id":868,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":61},"end":{"line":242,"col":62}},"generated_from_span":null},"id":869,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":242,"col":61},"end":{"line":242,"col":62}},"generated_from_span":null},"id":870,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":12},"end":{"line":244,"col":22}},"generated_from_span":null},"id":871,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":40},"end":{"line":244,"col":47}},"generated_from_span":null},"id":872,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":40},"end":{"line":244,"col":47}},"generated_from_span":null},"id":873,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":538}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":49},"end":{"line":244,"col":54}},"generated_from_span":null},"id":874,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":49},"end":{"line":244,"col":54}},"generated_from_span":null},"id":875,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":49},"end":{"line":244,"col":54}},"generated_from_span":null},"id":876,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":2461}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":49},"end":{"line":244,"col":54}},"generated_from_span":null},"id":877,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":2460}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":2461}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"id":878,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"id":879,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"id":880,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"id":881,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":8287}},{"Ref":{"place":{"kind":{"Local":30},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"id":882,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":8286}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":51},"ty":{"Deduplicated":8287}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":56},"end":{"line":244,"col":59}},"generated_from_span":null},"id":883,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":8286}}}],"dest":{"kind":{"Local":49},"ty":{"Deduplicated":2462}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":58},"end":{"line":244,"col":59}},"generated_from_span":null},"id":884,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":25},"end":{"line":244,"col":60}},"generated_from_span":null},"id":885,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":43}},"generics":{"regions":[{"Body":98},{"Body":99},{"Body":100}],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":538}}},{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":2460}}},{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":2462}}}],"dest":{"kind":{"Local":45},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":59},"end":{"line":244,"col":60}},"generated_from_span":null},"id":886,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":59},"end":{"line":244,"col":60}},"generated_from_span":null},"id":887,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":59},"end":{"line":244,"col":60}},"generated_from_span":null},"id":888,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":60},"end":{"line":244,"col":61}},"generated_from_span":null},"id":889,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":244,"col":60},"end":{"line":244,"col":61}},"generated_from_span":null},"id":890,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":12},"end":{"line":246,"col":16}},"generated_from_span":null},"id":891,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"id":892,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":33},"end":{"line":246,"col":43}},"generated_from_span":null},"id":893,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":33},"end":{"line":246,"col":34}},"generated_from_span":null},"id":894,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":33},"end":{"line":246,"col":34}},"generated_from_span":null},"id":895,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":33},"end":{"line":246,"col":43}},"generated_from_span":null},"id":896,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":42},"end":{"line":246,"col":43}},"generated_from_span":null},"id":897,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"id":3142,"kind":{"StorageLive":142},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"id":3143,"kind":{"Assign":[{"kind":{"Local":142},"ty":{"Deduplicated":8303}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8282}},"Deref"]},"ty":{"Deduplicated":8278}},{"Field":[{"Adt":[2,null]},1]}]},"ty":{"Deduplicated":8137}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"id":3144,"kind":{"StorageLive":143},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"id":3145,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8136}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":142},"ty":{"Deduplicated":8303}}},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":143},"ty":{"Deduplicated":8304}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":44}},"generated_from_span":null},"id":900,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":8288}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":143},"ty":{"Deduplicated":8304}},"Deref"]},"ty":{"Deduplicated":8136}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":19},"end":{"line":246,"col":52}},"generated_from_span":null},"id":901,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":44}},"generics":{"regions":[{"Body":103}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":8288}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":8136}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":51},"end":{"line":246,"col":52}},"generated_from_span":null},"id":902,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":246,"col":52},"end":{"line":246,"col":53}},"generated_from_span":null},"id":903,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":905,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":906,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":20},"end":{"line":248,"col":23}},"generated_from_span":null},"id":907,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":20},"end":{"line":248,"col":23}},"generated_from_span":null},"id":908,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":909,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":2449}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":22},"end":{"line":248,"col":23}},"generated_from_span":null},"id":910,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":911,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":7637}]}}},"args":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":2449}}}],"dest":{"kind":{"Local":56},"ty":{"Deduplicated":2449}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":22},"end":{"line":248,"col":23}},"generated_from_span":null},"id":912,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":913,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":914,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":2449}},{"Use":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":2449}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1104,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":248,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":916,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":917,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":918,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":919,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":2471}},{"Ref":{"place":{"kind":{"Local":59},"ty":{"Deduplicated":2449}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":920,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":2470}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":62},"ty":{"Deduplicated":2471}},"Deref"]},"ty":{"Deduplicated":2449}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":921,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":106}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":2562}]}}},"args":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":2470}}}],"dest":{"kind":{"Local":60},"ty":{"Deduplicated":2452}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":22},"end":{"line":248,"col":23}},"generated_from_span":null},"id":922,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":927,"kind":{"Switch":{"Match":[{"kind":{"Local":60},"ty":{"Deduplicated":2452}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"id":924,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":248,"col":17},"end":{"line":248,"col":23}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":12},"end":{"line":248,"col":13}},"generated_from_span":null},"id":928,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":12},"end":{"line":248,"col":13}},"generated_from_span":null},"id":929,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":2452}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":12},"end":{"line":249,"col":39}},"generated_from_span":null},"id":930,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":12},"end":{"line":249,"col":16}},"generated_from_span":null},"id":931,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":12},"end":{"line":249,"col":16}},"generated_from_span":null},"id":932,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":2472}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":38}},"generated_from_span":null},"id":933,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":34}},"generated_from_span":null},"id":934,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":34}},"generated_from_span":null},"id":935,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":38}},"generated_from_span":null},"id":936,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":67},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":33},"end":{"line":249,"col":38}},"generated_from_span":null},"id":938,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":37},"end":{"line":249,"col":38}},"generated_from_span":null},"id":939,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":12},"end":{"line":249,"col":39}},"generated_from_span":null},"id":940,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":39}},"generics":{"regions":[{"Body":108}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":2472}}},{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":64},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":38},"end":{"line":249,"col":39}},"generated_from_span":null},"id":941,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":38},"end":{"line":249,"col":39}},"generated_from_span":null},"id":942,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":249,"col":39},"end":{"line":249,"col":40}},"generated_from_span":null},"id":943,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":16},"end":{"line":250,"col":22}},"generated_from_span":null},"id":944,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":28},"end":{"line":250,"col":68}},"generated_from_span":null},"id":945,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":28},"end":{"line":250,"col":63}},"generated_from_span":null},"id":946,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":29},"end":{"line":250,"col":55}},"generated_from_span":null},"id":947,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"id":948,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":38},"end":{"line":250,"col":48}},"generated_from_span":null},"id":949,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":38},"end":{"line":250,"col":39}},"generated_from_span":null},"id":950,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":38},"end":{"line":250,"col":39}},"generated_from_span":null},"id":951,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":38},"end":{"line":250,"col":48}},"generated_from_span":null},"id":952,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":47},"end":{"line":250,"col":48}},"generated_from_span":null},"id":953,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"id":3130,"kind":{"StorageLive":136},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"id":3131,"kind":{"Assign":[{"kind":{"Local":136},"ty":{"Deduplicated":8301}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":8283}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"id":3132,"kind":{"StorageLive":137},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"id":3133,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":136},"ty":{"Deduplicated":8301}}},{"Copy":{"kind":{"Local":74},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":137},"ty":{"Deduplicated":6768}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":30},"end":{"line":250,"col":49}},"generated_from_span":null},"id":956,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":137},"ty":{"Deduplicated":6768}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":53},"end":{"line":250,"col":54}},"generated_from_span":null},"id":957,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":53},"end":{"line":250,"col":54}},"generated_from_span":null},"id":958,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":29},"end":{"line":250,"col":55}},"generated_from_span":null},"id":961,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":54},"end":{"line":250,"col":55}},"generated_from_span":null},"id":962,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":54},"end":{"line":250,"col":55}},"generated_from_span":null},"id":963,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":28},"end":{"line":250,"col":63}},"generated_from_span":null},"id":964,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":490}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":62},"end":{"line":250,"col":63}},"generated_from_span":null},"id":965,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":28},"end":{"line":250,"col":68}},"generated_from_span":null},"id":966,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":403}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":25},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1090,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":25},"end":{"line":258,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":250,"col":67},"end":{"line":250,"col":68}},"generated_from_span":null},"id":967,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":67},"end":{"line":250,"col":68}},"generated_from_span":null},"id":968,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":20},"end":{"line":251,"col":23}},"generated_from_span":null},"id":969,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":47}},"generated_from_span":null},"id":970,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":30}},"generated_from_span":null},"id":971,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":30}},"generated_from_span":null},"id":972,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":2473}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":47}},"generated_from_span":null},"id":973,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":45}},"generics":{"regions":[{"Body":111}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":79},"ty":{"Deduplicated":2473}}}],"dest":{"kind":{"Local":78},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":46},"end":{"line":251,"col":47}},"generated_from_span":null},"id":974,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":26},"end":{"line":251,"col":51}},"generated_from_span":null},"id":977,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":251,"col":50},"end":{"line":251,"col":51}},"generated_from_span":null},"id":978,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":16},"end":{"line":252,"col":40}},"generated_from_span":null},"id":979,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":16},"end":{"line":252,"col":20}},"generated_from_span":null},"id":980,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":16},"end":{"line":252,"col":20}},"generated_from_span":null},"id":981,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":657}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":36},"end":{"line":252,"col":39}},"generated_from_span":null},"id":982,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":36},"end":{"line":252,"col":39}},"generated_from_span":null},"id":983,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":77},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":16},"end":{"line":252,"col":40}},"generated_from_span":null},"id":984,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":42}},"generics":{"regions":[{"Body":115}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":657}}},{"Move":{"kind":{"Local":82},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":80},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":39},"end":{"line":252,"col":40}},"generated_from_span":null},"id":985,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":39},"end":{"line":252,"col":40}},"generated_from_span":null},"id":986,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":252,"col":40},"end":{"line":252,"col":41}},"generated_from_span":null},"id":987,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":31},"end":{"line":253,"col":38}},"generated_from_span":null},"id":988,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":31},"end":{"line":253,"col":38}},"generated_from_span":null},"id":989,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":2474}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":40},"end":{"line":253,"col":45}},"generated_from_span":null},"id":990,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":40},"end":{"line":253,"col":45}},"generated_from_span":null},"id":991,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":40},"end":{"line":253,"col":45}},"generated_from_span":null},"id":992,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":2476}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":40},"end":{"line":253,"col":45}},"generated_from_span":null},"id":993,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":2475}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":85},"ty":{"Deduplicated":2476}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"id":994,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"id":995,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"id":996,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"id":997,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":8290}},{"Ref":{"place":{"kind":{"Local":45},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"id":998,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":8289}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":88},"ty":{"Deduplicated":8290}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":47},"end":{"line":253,"col":54}},"generated_from_span":null},"id":999,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":8289}}}],"dest":{"kind":{"Local":86},"ty":{"Deduplicated":2477}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":53},"end":{"line":253,"col":54}},"generated_from_span":null},"id":1000,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1001,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1002,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1003,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":67},"end":{"line":253,"col":77}},"generated_from_span":null},"id":1004,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":67},"end":{"line":253,"col":68}},"generated_from_span":null},"id":1005,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":67},"end":{"line":253,"col":68}},"generated_from_span":null},"id":1006,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":67},"end":{"line":253,"col":77}},"generated_from_span":null},"id":1007,"kind":{"Assign":[{"kind":{"Local":92},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":93},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":76},"end":{"line":253,"col":77}},"generated_from_span":null},"id":1008,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":3122,"kind":{"StorageLive":132},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":3123,"kind":{"Assign":[{"kind":{"Local":132},"ty":{"Deduplicated":8299}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":8136}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":3124,"kind":{"StorageLive":133},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":3125,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":132},"ty":{"Deduplicated":8299}}},{"Copy":{"kind":{"Local":92},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":133},"ty":{"Deduplicated":8300}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1011,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":8292}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":133},"ty":{"Deduplicated":8300}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1012,"kind":{"Assign":[{"kind":{"Local":90},"ty":{"Deduplicated":8291}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":91},"ty":{"Deduplicated":8292}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":56},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1013,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":90},"ty":{"Deduplicated":8291}}}],"dest":{"kind":{"Local":89},"ty":{"Deduplicated":2480}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":77},"end":{"line":253,"col":78}},"generated_from_span":null},"id":1014,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":16},"end":{"line":253,"col":79}},"generated_from_span":null},"id":1015,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":46}},"generics":{"regions":[{"Body":124},{"Body":125},{"Body":126},{"Body":127}],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":2474}}},{"Move":{"kind":{"Local":84},"ty":{"Deduplicated":2475}}},{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":2477}}},{"Move":{"kind":{"Local":89},"ty":{"Deduplicated":2480}}}],"dest":{"kind":{"Local":69},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":78},"end":{"line":253,"col":79}},"generated_from_span":null},"id":1016,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":78},"end":{"line":253,"col":79}},"generated_from_span":null},"id":1017,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":78},"end":{"line":253,"col":79}},"generated_from_span":null},"id":1018,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":253,"col":78},"end":{"line":253,"col":79}},"generated_from_span":null},"id":1019,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":254,"col":12},"end":{"line":254,"col":13}},"generated_from_span":null},"id":1020,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":254,"col":12},"end":{"line":254,"col":13}},"generated_from_span":null},"id":1021,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":254,"col":12},"end":{"line":254,"col":13}},"generated_from_span":null},"id":1022,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":254,"col":12},"end":{"line":254,"col":13}},"generated_from_span":null},"id":1023,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":254,"col":12},"end":{"line":254,"col":13}},"generated_from_span":null},"id":1024,"kind":{"StorageDead":85},"comments_before":[]}]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":25},"end":{"line":258,"col":13}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":250,"col":67},"end":{"line":250,"col":68}},"generated_from_span":null},"id":1026,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":250,"col":67},"end":{"line":250,"col":68}},"generated_from_span":null},"id":1027,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":20},"end":{"line":255,"col":23}},"generated_from_span":null},"id":1028,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":26},"end":{"line":255,"col":53}},"generated_from_span":null},"id":1029,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":27},"end":{"line":255,"col":48}},"generated_from_span":null},"id":1030,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":27},"end":{"line":255,"col":31}},"generated_from_span":null},"id":1031,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":27},"end":{"line":255,"col":31}},"generated_from_span":null},"id":1032,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":2483}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":27},"end":{"line":255,"col":48}},"generated_from_span":null},"id":1033,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":45}},"generics":{"regions":[{"Body":113}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":2483}}}],"dest":{"kind":{"Local":96},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":47},"end":{"line":255,"col":48}},"generated_from_span":null},"id":1034,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":26},"end":{"line":255,"col":53}},"generated_from_span":null},"id":1035,"kind":{"Assign":[{"kind":{"Local":98},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":96},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":26},"end":{"line":255,"col":53}},"generated_from_span":null},"id":1037,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":98},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":52},"end":{"line":255,"col":53}},"generated_from_span":null},"id":1038,"kind":{"StorageDead":96},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":26},"end":{"line":255,"col":57}},"generated_from_span":null},"id":1041,"kind":{"Assign":[{"kind":{"Local":94},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":95},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":255,"col":56},"end":{"line":255,"col":57}},"generated_from_span":null},"id":1042,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":16},"end":{"line":256,"col":40}},"generated_from_span":null},"id":1043,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":16},"end":{"line":256,"col":20}},"generated_from_span":null},"id":1044,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":16},"end":{"line":256,"col":20}},"generated_from_span":null},"id":1045,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":2484}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":36},"end":{"line":256,"col":39}},"generated_from_span":null},"id":1046,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":36},"end":{"line":256,"col":39}},"generated_from_span":null},"id":1047,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":94},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":16},"end":{"line":256,"col":40}},"generated_from_span":null},"id":1048,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":42}},"generics":{"regions":[{"Body":118}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":2484}}},{"Move":{"kind":{"Local":101},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":99},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":39},"end":{"line":256,"col":40}},"generated_from_span":null},"id":1049,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":39},"end":{"line":256,"col":40}},"generated_from_span":null},"id":1050,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":256,"col":40},"end":{"line":256,"col":41}},"generated_from_span":null},"id":1051,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":31},"end":{"line":257,"col":38}},"generated_from_span":null},"id":1052,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":31},"end":{"line":257,"col":38}},"generated_from_span":null},"id":1053,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":678}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":40},"end":{"line":257,"col":45}},"generated_from_span":null},"id":1054,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":40},"end":{"line":257,"col":45}},"generated_from_span":null},"id":1055,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":40},"end":{"line":257,"col":45}},"generated_from_span":null},"id":1056,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":2486}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":40},"end":{"line":257,"col":45}},"generated_from_span":null},"id":1057,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":2485}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":104},"ty":{"Deduplicated":2486}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1058,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1059,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1060,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":58},"end":{"line":257,"col":68}},"generated_from_span":null},"id":1061,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":58},"end":{"line":257,"col":59}},"generated_from_span":null},"id":1062,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":58},"end":{"line":257,"col":59}},"generated_from_span":null},"id":1063,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":58},"end":{"line":257,"col":68}},"generated_from_span":null},"id":1064,"kind":{"Assign":[{"kind":{"Local":108},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":67},"end":{"line":257,"col":68}},"generated_from_span":null},"id":1065,"kind":{"StorageDead":109},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":3126,"kind":{"StorageLive":134},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":3127,"kind":{"Assign":[{"kind":{"Local":134},"ty":{"Deduplicated":8299}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":52},"ty":{"Deduplicated":8136}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":3128,"kind":{"StorageLive":135},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":3129,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":134},"ty":{"Deduplicated":8299}}},{"Copy":{"kind":{"Local":108},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":135},"ty":{"Deduplicated":8300}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1068,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":8294}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":135},"ty":{"Deduplicated":8300}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1069,"kind":{"Assign":[{"kind":{"Local":106},"ty":{"Deduplicated":8293}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":107},"ty":{"Deduplicated":8294}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":47},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1070,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":106},"ty":{"Deduplicated":8293}}}],"dest":{"kind":{"Local":105},"ty":{"Deduplicated":2487}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":68},"end":{"line":257,"col":69}},"generated_from_span":null},"id":1071,"kind":{"StorageDead":106},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1072,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1073,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1074,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1075,"kind":{"Assign":[{"kind":{"Local":112},"ty":{"Deduplicated":8296}},{"Ref":{"place":{"kind":{"Local":45},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1076,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":8295}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":112},"ty":{"Deduplicated":8296}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":71},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1077,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":111},"ty":{"Deduplicated":8295}}}],"dest":{"kind":{"Local":110},"ty":{"Deduplicated":2490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":77},"end":{"line":257,"col":78}},"generated_from_span":null},"id":1078,"kind":{"StorageDead":111},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":16},"end":{"line":257,"col":79}},"generated_from_span":null},"id":1079,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":46}},"generics":{"regions":[{"Body":134},{"Body":135},{"Body":136},{"Body":137}],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":678}}},{"Move":{"kind":{"Local":103},"ty":{"Deduplicated":2485}}},{"Move":{"kind":{"Local":105},"ty":{"Deduplicated":2487}}},{"Move":{"kind":{"Local":110},"ty":{"Deduplicated":2490}}}],"dest":{"kind":{"Local":69},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":78},"end":{"line":257,"col":79}},"generated_from_span":null},"id":1080,"kind":{"StorageDead":110},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":78},"end":{"line":257,"col":79}},"generated_from_span":null},"id":1081,"kind":{"StorageDead":105},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":78},"end":{"line":257,"col":79}},"generated_from_span":null},"id":1082,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":257,"col":78},"end":{"line":257,"col":79}},"generated_from_span":null},"id":1083,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":258,"col":12},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1084,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":258,"col":12},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1085,"kind":{"StorageDead":112},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":258,"col":12},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1086,"kind":{"StorageDead":108},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":258,"col":12},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1087,"kind":{"StorageDead":107},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":258,"col":12},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1088,"kind":{"StorageDead":104},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":258,"col":12},"end":{"line":258,"col":13}},"generated_from_span":null},"id":1091,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":259,"col":21},"end":{"line":259,"col":27}},"generated_from_span":null},"id":1092,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":259,"col":21},"end":{"line":259,"col":27}},"generated_from_span":null},"id":1093,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Local":69},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":259,"col":12},"end":{"line":259,"col":27}},"generated_from_span":null},"id":1094,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":8134}},{"Use":[{"Move":{"kind":{"Local":113},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":259,"col":26},"end":{"line":259,"col":27}},"generated_from_span":null},"id":1095,"kind":{"StorageDead":113},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1097,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1098,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1099,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1100,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":248,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1103,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1106,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1107,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1109,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":260,"col":8},"end":{"line":260,"col":9}},"generated_from_span":null},"id":1110,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":27},"end":{"line":262,"col":33}},"generated_from_span":null},"id":1112,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":27},"end":{"line":262,"col":33}},"generated_from_span":null},"id":1113,"kind":{"Assign":[{"kind":{"Local":114},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Local":45},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":13},"end":{"line":262,"col":23}},"generated_from_span":null},"id":1114,"kind":{"StorageLive":115},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":13},"end":{"line":262,"col":14}},"generated_from_span":null},"id":1115,"kind":{"StorageLive":116},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":13},"end":{"line":262,"col":14}},"generated_from_span":null},"id":1116,"kind":{"Assign":[{"kind":{"Local":116},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":29},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":13},"end":{"line":262,"col":23}},"generated_from_span":null},"id":1117,"kind":{"Assign":[{"kind":{"Local":115},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":116},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":22},"end":{"line":262,"col":23}},"generated_from_span":null},"id":1118,"kind":{"StorageDead":116},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":8},"end":{"line":262,"col":33}},"generated_from_span":null},"id":3146,"kind":{"StorageLive":144},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":8},"end":{"line":262,"col":33}},"generated_from_span":null},"id":3147,"kind":{"Assign":[{"kind":{"Local":144},"ty":{"Deduplicated":8305}},{"Ref":{"place":{"kind":{"Local":20},"ty":{"Deduplicated":8135}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":8},"end":{"line":262,"col":33}},"generated_from_span":null},"id":3148,"kind":{"StorageLive":145},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":8},"end":{"line":262,"col":33}},"generated_from_span":null},"id":3149,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":144},"ty":{"Deduplicated":8305}}},{"Copy":{"kind":{"Local":115},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":145},"ty":{"Deduplicated":8306}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":8},"end":{"line":262,"col":33}},"generated_from_span":null},"id":1121,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":145},"ty":{"Deduplicated":8306}},"Deref"]},"ty":{"Deduplicated":8134}},{"Use":[{"Move":{"kind":{"Local":114},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":32},"end":{"line":262,"col":33}},"generated_from_span":null},"id":1122,"kind":{"StorageDead":114},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":262,"col":33},"end":{"line":262,"col":34}},"generated_from_span":null},"id":1123,"kind":{"StorageDead":115},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1125,"kind":{"Drop":[{"kind":{"Local":52},"ty":{"Deduplicated":8136}},{"kind":{"Fun":{"Regular":180}},"generics":{"regions":[{"Body":109}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1126,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1127,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1128,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1129,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1130,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1131,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":238,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1134,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1137,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1138,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1140,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":263,"col":4},"end":{"line":263,"col":5}},"generated_from_span":null},"id":1141,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":265,"col":8},"end":{"line":265,"col":24}},"generated_from_span":null},"id":1143,"kind":{"StorageLive":117},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":265,"col":27},"end":{"line":265,"col":31}},"generated_from_span":null},"id":1144,"kind":{"StorageLive":118},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":265,"col":27},"end":{"line":265,"col":31}},"generated_from_span":null},"id":1145,"kind":{"Assign":[{"kind":{"Local":118},"ty":{"Deduplicated":2493}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":265,"col":27},"end":{"line":265,"col":39}},"generated_from_span":null},"id":1146,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":75}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":118},"ty":{"Deduplicated":2493}}}],"dest":{"kind":{"Local":117},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":265,"col":38},"end":{"line":265,"col":39}},"generated_from_span":null},"id":1147,"kind":{"StorageDead":118},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":266,"col":4},"end":{"line":266,"col":47}},"generated_from_span":null},"id":1148,"kind":{"StorageLive":119},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":266,"col":4},"end":{"line":266,"col":16}},"generated_from_span":null},"id":1149,"kind":{"StorageLive":120},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":266,"col":4},"end":{"line":266,"col":16}},"generated_from_span":null},"id":1150,"kind":{"Assign":[{"kind":{"Local":120},"ty":{"Deduplicated":2494}},{"Ref":{"place":{"kind":{"Local":117},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":266,"col":4},"end":{"line":266,"col":47}},"generated_from_span":null},"id":1151,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":8}},"generics":{"regions":[{"Body":79}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":120},"ty":{"Deduplicated":2494}}},{"Copy":{"kind":{"Global":{"id":5,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":119},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":266,"col":46},"end":{"line":266,"col":47}},"generated_from_span":null},"id":1152,"kind":{"StorageDead":120},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":266,"col":47},"end":{"line":266,"col":48}},"generated_from_span":null},"id":1153,"kind":{"StorageDead":119},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":4},"end":{"line":267,"col":66}},"generated_from_span":null},"id":1154,"kind":{"StorageLive":121},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":4},"end":{"line":267,"col":16}},"generated_from_span":null},"id":1155,"kind":{"StorageLive":122},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":4},"end":{"line":267,"col":16}},"generated_from_span":null},"id":1156,"kind":{"Assign":[{"kind":{"Local":122},"ty":{"Deduplicated":2495}},{"Ref":{"place":{"kind":{"Local":117},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":38},"end":{"line":267,"col":65}},"generated_from_span":null},"id":1157,"kind":{"StorageLive":123},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":38},"end":{"line":267,"col":42}},"generated_from_span":null},"id":1158,"kind":{"StorageLive":124},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":38},"end":{"line":267,"col":42}},"generated_from_span":null},"id":1159,"kind":{"Assign":[{"kind":{"Local":124},"ty":{"Deduplicated":2496}},{"Ref":{"place":{"kind":{"Local":10},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":38},"end":{"line":267,"col":65}},"generated_from_span":null},"id":1160,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":40}},"generics":{"regions":[{"Body":82}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":124},"ty":{"Deduplicated":2496}}}],"dest":{"kind":{"Local":123},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":64},"end":{"line":267,"col":65}},"generated_from_span":null},"id":1161,"kind":{"StorageDead":124},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":4},"end":{"line":267,"col":66}},"generated_from_span":null},"id":1162,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":84}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":122},"ty":{"Deduplicated":2495}}},{"Move":{"kind":{"Local":123},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":121},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":65},"end":{"line":267,"col":66}},"generated_from_span":null},"id":1163,"kind":{"StorageDead":123},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":65},"end":{"line":267,"col":66}},"generated_from_span":null},"id":1164,"kind":{"StorageDead":122},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":267,"col":66},"end":{"line":267,"col":67}},"generated_from_span":null},"id":1165,"kind":{"StorageDead":121},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":8},"end":{"line":268,"col":10}},"generated_from_span":null},"id":1166,"kind":{"StorageLive":125},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":35},"end":{"line":268,"col":42}},"generated_from_span":null},"id":1167,"kind":{"StorageLive":126},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":35},"end":{"line":268,"col":42}},"generated_from_span":null},"id":1168,"kind":{"Assign":[{"kind":{"Local":126},"ty":{"Deduplicated":2497}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":44},"end":{"line":268,"col":57}},"generated_from_span":null},"id":1169,"kind":{"StorageLive":127},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":44},"end":{"line":268,"col":57}},"generated_from_span":null},"id":1170,"kind":{"StorageLive":128},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":44},"end":{"line":268,"col":57}},"generated_from_span":null},"id":1171,"kind":{"Assign":[{"kind":{"Local":128},"ty":{"Deduplicated":2499}},{"Ref":{"place":{"kind":{"Local":117},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":44},"end":{"line":268,"col":57}},"generated_from_span":null},"id":1172,"kind":{"Assign":[{"kind":{"Local":127},"ty":{"Deduplicated":2498}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":128},"ty":{"Deduplicated":2499}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":59},"end":{"line":268,"col":64}},"generated_from_span":null},"id":1173,"kind":{"StorageLive":129},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":59},"end":{"line":268,"col":64}},"generated_from_span":null},"id":1174,"kind":{"StorageLive":130},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":59},"end":{"line":268,"col":64}},"generated_from_span":null},"id":1175,"kind":{"Assign":[{"kind":{"Local":130},"ty":{"Deduplicated":8298}},{"Ref":{"place":{"kind":{"Local":20},"ty":{"Deduplicated":8135}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":59},"end":{"line":268,"col":64}},"generated_from_span":null},"id":1176,"kind":{"Assign":[{"kind":{"Local":129},"ty":{"Deduplicated":8297}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":130},"ty":{"Deduplicated":8298}},"Deref"]},"ty":{"Deduplicated":8135}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":13},"end":{"line":268,"col":65}},"generated_from_span":null},"id":1177,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":41}},"generics":{"regions":[{"Body":88},{"Body":89},{"Body":90}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":126},"ty":{"Deduplicated":2497}}},{"Move":{"kind":{"Local":127},"ty":{"Deduplicated":2498}}},{"Move":{"kind":{"Local":129},"ty":{"Deduplicated":8297}}}],"dest":{"kind":{"Local":125},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":64},"end":{"line":268,"col":65}},"generated_from_span":null},"id":1178,"kind":{"StorageDead":129},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":64},"end":{"line":268,"col":65}},"generated_from_span":null},"id":1179,"kind":{"StorageDead":127},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":64},"end":{"line":268,"col":65}},"generated_from_span":null},"id":1180,"kind":{"StorageDead":126},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":65},"end":{"line":268,"col":66}},"generated_from_span":null},"id":1181,"kind":{"StorageDead":130},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":268,"col":65},"end":{"line":268,"col":66}},"generated_from_span":null},"id":1182,"kind":{"StorageDead":128},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":269,"col":18},"end":{"line":269,"col":20}},"generated_from_span":null},"id":1183,"kind":{"StorageLive":131},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":269,"col":18},"end":{"line":269,"col":20}},"generated_from_span":null},"id":1184,"kind":{"Assign":[{"kind":{"Local":131},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Local":125},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":269,"col":4},"end":{"line":269,"col":22}},"generated_from_span":null},"id":1185,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8281}},{"Aggregate":[{"Adt":[{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":131},"ty":{"Deduplicated":8134}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":269,"col":21},"end":{"line":269,"col":22}},"generated_from_span":null},"id":1186,"kind":{"StorageDead":131},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1187,"kind":{"StorageDead":125},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1188,"kind":{"Drop":[{"kind":{"Local":117},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":93}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1189,"kind":{"StorageDead":117},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1190,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1191,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1192,"kind":{"Drop":[{"kind":{"Local":10},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":101}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1193,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1194,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":0},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1195,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":270,"col":1},"end":{"line":270,"col":1}},"generated_from_span":null},"id":1196,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["ht_verify_free",0]}],"span":{"data":{"file_id":0,"beg":{"line":193,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn ht_verify_free(\n m: &[u8], sig_ht: &HtSig, pk_seed: &[u8], idx_tree: u64, idx_leaf: u32,\n pk_root: &[u8; N],\n) -> bool {\n let mut idx_tree = idx_tree;\n let (d32, hp32) = (D as u32, HP as u32); // Aeneas-compat: lossless casts\n\n let mut adrs = Adrs::default();\n adrs.set_tree_address(idx_tree);\n\n let sig_tmp = sig_ht.xmss_sigs[0].clone();\n let mut node = xmss_pk_from_sig_free::(idx_leaf, &sig_tmp, m, pk_seed, &adrs);\n\n for j in 1..d32 {\n // Aeneas-compat: plain cast (Result plumbing untranslatable-clean).\n // The value is masked to hp' bits and hp' <= 9 for every FIPS 205\n // parameter set, so the u32 conversion cannot fail: identical.\n #[allow(clippy::cast_possible_truncation)]\n let idx_leaf = (idx_tree & ((1 << hp32) - 1)) as u32;\n\n idx_tree >>= hp32;\n\n adrs.set_layer_address(j);\n adrs.set_tree_address(idx_tree);\n\n let sig_tmp = sig_ht.xmss_sigs[j as usize].clone();\n node = xmss_pk_from_sig_free::(idx_leaf, &sig_tmp, &node, pk_seed, &adrs);\n }\n\n node == *pk_root // Public data, thus no CT eq required\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"D","ty":{"Deduplicated":390}},{"index":1,"name":"HP","ty":{"Deduplicated":390}},{"index":2,"name":"LEN","ty":{"Deduplicated":390}},{"index":3,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"HashConsedValue":[8308,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[8307,{"Adt":{"id":{"Adt":3},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]},{"Deduplicated":8266},{"Deduplicated":647},{"Deduplicated":490},{"HashConsedValue":[8310,{"Ref":[{"Var":{"Free":3}},{"HashConsedValue":[8309,{"Array":[{"Deduplicated":293},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}]}]},"Shared"]}]}],"output":{"Deduplicated":403}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":193,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"bound_body_regions":73,"locals":{"arg_count":6,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":196,"col":5},"end":{"line":196,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":1,"name":"m","span":{"data":{"file_id":0,"beg":{"line":194,"col":4},"end":{"line":194,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":406}},{"index":2,"name":"sig_ht","span":{"data":{"file_id":0,"beg":{"line":194,"col":14},"end":{"line":194,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[8311,{"Ref":[{"Body":3},{"Deduplicated":8307},"Shared"]}]}},{"index":3,"name":"pk_seed","span":{"data":{"file_id":0,"beg":{"line":194,"col":45},"end":{"line":194,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":2430}},{"index":4,"name":"idx_tree","span":{"data":{"file_id":0,"beg":{"line":194,"col":61},"end":{"line":194,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":5,"name":"idx_leaf","span":{"data":{"file_id":0,"beg":{"line":194,"col":76},"end":{"line":194,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":6,"name":"pk_root","span":{"data":{"file_id":0,"beg":{"line":195,"col":4},"end":{"line":195,"col":11}},"generated_from_span":null},"ty":{"HashConsedValue":[8312,{"Ref":[{"Body":6},{"Deduplicated":8309},"Shared"]}]}},{"index":7,"name":"idx_tree","span":{"data":{"file_id":0,"beg":{"line":197,"col":8},"end":{"line":197,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":8,"name":"d32","span":{"data":{"file_id":0,"beg":{"line":198,"col":9},"end":{"line":198,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":9,"name":"hp32","span":{"data":{"file_id":0,"beg":{"line":198,"col":14},"end":{"line":198,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":10,"name":null,"span":{"data":{"file_id":0,"beg":{"line":198,"col":22},"end":{"line":198,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":494}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":198,"col":23},"end":{"line":198,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":198,"col":33},"end":{"line":198,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":13,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":200,"col":8},"end":{"line":200,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":201,"col":4},"end":{"line":201,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":201,"col":4},"end":{"line":201,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[2644,{"Ref":[{"Body":8},{"Deduplicated":508},"Mut"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":201,"col":26},"end":{"line":201,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":17,"name":"sig_tmp","span":{"data":{"file_id":0,"beg":{"line":203,"col":8},"end":{"line":203,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":8138}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"ty":{"HashConsedValue":[8313,{"Ref":[{"Body":10},{"Deduplicated":8138},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":203,"col":35},"end":{"line":203,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":20,"name":"node","span":{"data":{"file_id":0,"beg":{"line":204,"col":8},"end":{"line":204,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":8309}},{"index":21,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":55},"end":{"line":204,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":22,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":65},"end":{"line":204,"col":73}},"generated_from_span":null},"ty":{"HashConsedValue":[8314,{"Ref":[{"Body":11},{"Deduplicated":8138},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":65},"end":{"line":204,"col":73}},"generated_from_span":null},"ty":{"HashConsedValue":[8315,{"Ref":[{"Body":12},{"Deduplicated":8138},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":75},"end":{"line":204,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[2650,{"Ref":[{"Body":13},{"Deduplicated":294},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":78},"end":{"line":204,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":532}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":87},"end":{"line":204,"col":92}},"generated_from_span":null},"ty":{"HashConsedValue":[2652,{"Ref":[{"Body":16},{"Deduplicated":508},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":204,"col":87},"end":{"line":204,"col":92}},"generated_from_span":null},"ty":{"HashConsedValue":[2653,{"Ref":[{"Body":17},{"Deduplicated":508},"Shared"]}]}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":206,"col":16},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":31,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2452}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[2655,{"Ref":[{"Body":19},{"Deduplicated":2449},"Mut"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[2656,{"Ref":[{"Body":20},{"Deduplicated":2449},"Mut"]}]}},{"index":35,"name":"j","span":{"data":{"file_id":0,"beg":{"line":206,"col":8},"end":{"line":206,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":36,"name":"idx_leaf","span":{"data":{"file_id":0,"beg":{"line":211,"col":12},"end":{"line":211,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":37,"name":null,"span":{"data":{"file_id":0,"beg":{"line":211,"col":23},"end":{"line":211,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":38,"name":null,"span":{"data":{"file_id":0,"beg":{"line":211,"col":24},"end":{"line":211,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":211,"col":35},"end":{"line":211,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":211,"col":36},"end":{"line":211,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":211,"col":42},"end":{"line":211,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":211,"col":35},"end":{"line":211,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":213,"col":21},"end":{"line":213,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":215,"col":8},"end":{"line":215,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[2657,{"Ref":[{"Body":21},{"Deduplicated":508},"Mut"]}]}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":215,"col":31},"end":{"line":215,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":216,"col":8},"end":{"line":216,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":216,"col":8},"end":{"line":216,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[2658,{"Ref":[{"Body":22},{"Deduplicated":508},"Mut"]}]}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":216,"col":30},"end":{"line":216,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":647}},{"index":50,"name":"sig_tmp","span":{"data":{"file_id":0,"beg":{"line":218,"col":12},"end":{"line":218,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":8138}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[8316,{"Ref":[{"Body":23},{"Deduplicated":8138},"Shared"]}]}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":218,"col":39},"end":{"line":218,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":218,"col":39},"end":{"line":218,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":15},"end":{"line":219,"col":93}},"generated_from_span":null},"ty":{"Deduplicated":8309}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":51},"end":{"line":219,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":61},"end":{"line":219,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8317,{"Ref":[{"Body":24},{"Deduplicated":8138},"Shared"]}]}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":61},"end":{"line":219,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8318,{"Ref":[{"Body":25},{"Deduplicated":8138},"Shared"]}]}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":641}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[8319,{"Ref":[{"Body":27},{"Deduplicated":8309},"Shared"]}]}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[8320,{"Ref":[{"Body":28},{"Deduplicated":8309},"Shared"]}]}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":78},"end":{"line":219,"col":85}},"generated_from_span":null},"ty":{"Deduplicated":644}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":87},"end":{"line":219,"col":92}},"generated_from_span":null},"ty":{"HashConsedValue":[2664,{"Ref":[{"Body":30},{"Deduplicated":508},"Shared"]}]}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":219,"col":87},"end":{"line":219,"col":92}},"generated_from_span":null},"ty":{"HashConsedValue":[2665,{"Ref":[{"Body":31},{"Deduplicated":508},"Shared"]}]}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":222,"col":4},"end":{"line":222,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[8321,{"Ref":[{"Body":32},{"Deduplicated":8309},"Shared"]}]}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":222,"col":12},"end":{"line":222,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[8322,{"Ref":[{"Body":33},{"Deduplicated":8309},"Shared"]}]}},{"index":66,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8323,{"Ref":["Erased",{"Deduplicated":8139},"Shared"]}]}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8324,{"Ref":["Erased",{"Deduplicated":8138},"Shared"]}]}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8323}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8324}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":197,"col":8},"end":{"line":223,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":197,"col":8},"end":{"line":197,"col":20}},"generated_from_span":null},"id":1201,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":197,"col":8},"end":{"line":197,"col":20}},"generated_from_span":null},"id":1204,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":197,"col":23},"end":{"line":197,"col":31}},"generated_from_span":null},"id":1205,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":4},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":22},"end":{"line":198,"col":43}},"generated_from_span":null},"id":1206,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":23},"end":{"line":198,"col":31}},"generated_from_span":null},"id":1207,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":23},"end":{"line":198,"col":31}},"generated_from_span":null},"id":1208,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":33},"end":{"line":198,"col":42}},"generated_from_span":null},"id":1209,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":33},"end":{"line":198,"col":42}},"generated_from_span":null},"id":1210,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":22},"end":{"line":198,"col":43}},"generated_from_span":null},"id":1211,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":494}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":42},"end":{"line":198,"col":43}},"generated_from_span":null},"id":1212,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":42},"end":{"line":198,"col":43}},"generated_from_span":null},"id":1213,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":9},"end":{"line":198,"col":12}},"generated_from_span":null},"id":1214,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":9},"end":{"line":198,"col":12}},"generated_from_span":null},"id":1215,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":494}},{"Field":[{"Tuple":2},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":14},"end":{"line":198,"col":18}},"generated_from_span":null},"id":1216,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":14},"end":{"line":198,"col":18}},"generated_from_span":null},"id":1217,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":494}},{"Field":[{"Tuple":2},1]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":198,"col":43},"end":{"line":198,"col":44}},"generated_from_span":null},"id":1218,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":200,"col":8},"end":{"line":200,"col":16}},"generated_from_span":null},"id":1219,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":200,"col":19},"end":{"line":200,"col":34}},"generated_from_span":null},"id":1220,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":2}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[],"dest":{"kind":{"Local":13},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":4},"end":{"line":201,"col":35}},"generated_from_span":null},"id":1221,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":4},"end":{"line":201,"col":8}},"generated_from_span":null},"id":1222,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":4},"end":{"line":201,"col":8}},"generated_from_span":null},"id":1223,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2644}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":26},"end":{"line":201,"col":34}},"generated_from_span":null},"id":1224,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":26},"end":{"line":201,"col":34}},"generated_from_span":null},"id":1225,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":4},"end":{"line":201,"col":35}},"generated_from_span":null},"id":1226,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":7}},"generics":{"regions":[{"Body":35}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2644}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":647}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":34},"end":{"line":201,"col":35}},"generated_from_span":null},"id":1227,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":34},"end":{"line":201,"col":35}},"generated_from_span":null},"id":1228,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":201,"col":35},"end":{"line":201,"col":36}},"generated_from_span":null},"id":1229,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":8},"end":{"line":203,"col":15}},"generated_from_span":null},"id":1230,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"id":1231,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":35},"end":{"line":203,"col":36}},"generated_from_span":null},"id":1232,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":35},"end":{"line":203,"col":36}},"generated_from_span":null},"id":1233,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":390}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"id":3154,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"id":3155,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":8323}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8311}},"Deref"]},"ty":{"Deduplicated":8307}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":8139}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"id":3156,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"id":3157,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8138}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":8323}}},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":69},"ty":{"Deduplicated":8324}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":37}},"generated_from_span":null},"id":1236,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":8313}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":69},"ty":{"Deduplicated":8324}},"Deref"]},"ty":{"Deduplicated":8138}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":18},"end":{"line":203,"col":45}},"generated_from_span":null},"id":1237,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":47}},"generics":{"regions":[{"Body":38}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":8313}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":8138}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":44},"end":{"line":203,"col":45}},"generated_from_span":null},"id":1238,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":203,"col":45},"end":{"line":203,"col":46}},"generated_from_span":null},"id":1239,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":8},"end":{"line":204,"col":16}},"generated_from_span":null},"id":1240,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":55},"end":{"line":204,"col":63}},"generated_from_span":null},"id":1241,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":55},"end":{"line":204,"col":63}},"generated_from_span":null},"id":1242,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":65},"end":{"line":204,"col":73}},"generated_from_span":null},"id":1243,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":65},"end":{"line":204,"col":73}},"generated_from_span":null},"id":1244,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":65},"end":{"line":204,"col":73}},"generated_from_span":null},"id":1245,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":8315}},{"Ref":{"place":{"kind":{"Local":17},"ty":{"Deduplicated":8138}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":65},"end":{"line":204,"col":73}},"generated_from_span":null},"id":1246,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":8314}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":8315}},"Deref"]},"ty":{"Deduplicated":8138}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":75},"end":{"line":204,"col":76}},"generated_from_span":null},"id":1247,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":75},"end":{"line":204,"col":76}},"generated_from_span":null},"id":1248,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2650}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":78},"end":{"line":204,"col":85}},"generated_from_span":null},"id":1249,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":78},"end":{"line":204,"col":85}},"generated_from_span":null},"id":1250,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":532}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":87},"end":{"line":204,"col":92}},"generated_from_span":null},"id":1251,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":87},"end":{"line":204,"col":92}},"generated_from_span":null},"id":1252,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":87},"end":{"line":204,"col":92}},"generated_from_span":null},"id":1253,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":2653}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":87},"end":{"line":204,"col":92}},"generated_from_span":null},"id":1254,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2652}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":27},"ty":{"Deduplicated":2653}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":19},"end":{"line":204,"col":93}},"generated_from_span":null},"id":1255,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":48}},"generics":{"regions":[{"Body":43},{"Body":44},{"Body":45},{"Body":46}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":8314}}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":2650}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":532}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2652}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":8309}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":92},"end":{"line":204,"col":93}},"generated_from_span":null},"id":1256,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":92},"end":{"line":204,"col":93}},"generated_from_span":null},"id":1257,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":92},"end":{"line":204,"col":93}},"generated_from_span":null},"id":1258,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":92},"end":{"line":204,"col":93}},"generated_from_span":null},"id":1259,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":92},"end":{"line":204,"col":93}},"generated_from_span":null},"id":1260,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":93},"end":{"line":204,"col":94}},"generated_from_span":null},"id":1261,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":204,"col":93},"end":{"line":204,"col":94}},"generated_from_span":null},"id":1262,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1264,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1265,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":16},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1266,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":16},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1267,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":8},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1268,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":2449}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":18},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1269,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1270,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":7637}]}}},"args":[{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":2449}}}],"dest":{"kind":{"Local":28},"ty":{"Deduplicated":2449}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":18},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1271,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1272,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1273,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2449}},{"Use":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":2449}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1388,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":206,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1275,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1276,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1277,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1278,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":2656}},{"Ref":{"place":{"kind":{"Local":31},"ty":{"Deduplicated":2449}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1279,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2655}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2656}},"Deref"]},"ty":{"Deduplicated":2449}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1280,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":49}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":2562}]}}},"args":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":2655}}}],"dest":{"kind":{"Local":32},"ty":{"Deduplicated":2452}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":18},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1281,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1286,"kind":{"Switch":{"Match":[{"kind":{"Local":32},"ty":{"Deduplicated":2452}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"id":1283,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":206,"col":13},"end":{"line":206,"col":19}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":8},"end":{"line":206,"col":9}},"generated_from_span":null},"id":1287,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":8},"end":{"line":206,"col":9}},"generated_from_span":null},"id":1288,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":32},"ty":{"Deduplicated":2452}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":12},"end":{"line":211,"col":20}},"generated_from_span":null},"id":1289,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":23},"end":{"line":211,"col":53}},"generated_from_span":null},"id":1290,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":24},"end":{"line":211,"col":32}},"generated_from_span":null},"id":1291,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":24},"end":{"line":211,"col":32}},"generated_from_span":null},"id":1292,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":["Aeneas-compat: plain cast (Result plumbing untranslatable-clean).","The value is masked to hp' bits and hp' <= 9 for every FIPS 205","parameter set, so the u32 conversion cannot fail: identical."]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":35},"end":{"line":211,"col":52}},"generated_from_span":null},"id":1293,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":36},"end":{"line":211,"col":47}},"generated_from_span":null},"id":1294,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":42},"end":{"line":211,"col":46}},"generated_from_span":null},"id":1295,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":42},"end":{"line":211,"col":46}},"generated_from_span":null},"id":1296,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":36},"end":{"line":211,"col":47}},"generated_from_span":null},"id":1299,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Shl":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":46},"end":{"line":211,"col":47}},"generated_from_span":null},"id":1300,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":35},"end":{"line":211,"col":52}},"generated_from_span":null},"id":1301,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":647}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U64","1"]}}},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":35},"end":{"line":211,"col":52}},"generated_from_span":null},"id":1303,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":647}},{"Use":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":51},"end":{"line":211,"col":52}},"generated_from_span":null},"id":1304,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":23},"end":{"line":211,"col":53}},"generated_from_span":null},"id":1305,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":647}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":52},"end":{"line":211,"col":53}},"generated_from_span":null},"id":1306,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":52},"end":{"line":211,"col":53}},"generated_from_span":null},"id":1307,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":23},"end":{"line":211,"col":60}},"generated_from_span":null},"id":1308,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U64"},{"UInt":"U32"}]}},{"Move":{"kind":{"Local":37},"ty":{"Deduplicated":647}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":211,"col":59},"end":{"line":211,"col":60}},"generated_from_span":null},"id":1309,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":213,"col":21},"end":{"line":213,"col":25}},"generated_from_span":null},"id":1310,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":213,"col":21},"end":{"line":213,"col":25}},"generated_from_span":null},"id":1311,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":213,"col":8},"end":{"line":213,"col":25}},"generated_from_span":null},"id":1314,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":647}},{"BinaryOp":[{"Shr":"Panic"},{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":647}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":213,"col":24},"end":{"line":213,"col":25}},"generated_from_span":null},"id":1315,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":8},"end":{"line":215,"col":33}},"generated_from_span":null},"id":1316,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"id":1317,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":8},"end":{"line":215,"col":12}},"generated_from_span":null},"id":1318,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":2657}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":31},"end":{"line":215,"col":32}},"generated_from_span":null},"id":1319,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":31},"end":{"line":215,"col":32}},"generated_from_span":null},"id":1320,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":8},"end":{"line":215,"col":33}},"generated_from_span":null},"id":1321,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":50}},"generics":{"regions":[{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":2657}}},{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":44},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":32},"end":{"line":215,"col":33}},"generated_from_span":null},"id":1322,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":32},"end":{"line":215,"col":33}},"generated_from_span":null},"id":1323,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":215,"col":33},"end":{"line":215,"col":34}},"generated_from_span":null},"id":1324,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":8},"end":{"line":216,"col":39}},"generated_from_span":null},"id":1325,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":8},"end":{"line":216,"col":12}},"generated_from_span":null},"id":1326,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":8},"end":{"line":216,"col":12}},"generated_from_span":null},"id":1327,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":2658}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":30},"end":{"line":216,"col":38}},"generated_from_span":null},"id":1328,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":30},"end":{"line":216,"col":38}},"generated_from_span":null},"id":1329,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":647}},{"Use":[{"Copy":{"kind":{"Local":7},"ty":{"Deduplicated":647}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":8},"end":{"line":216,"col":39}},"generated_from_span":null},"id":1330,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":7}},"generics":{"regions":[{"Body":59}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":2658}}},{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":647}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":38},"end":{"line":216,"col":39}},"generated_from_span":null},"id":1331,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":38},"end":{"line":216,"col":39}},"generated_from_span":null},"id":1332,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":216,"col":39},"end":{"line":216,"col":40}},"generated_from_span":null},"id":1333,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":12},"end":{"line":218,"col":19}},"generated_from_span":null},"id":1334,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"id":1335,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":39},"end":{"line":218,"col":49}},"generated_from_span":null},"id":1336,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":39},"end":{"line":218,"col":40}},"generated_from_span":null},"id":1337,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":39},"end":{"line":218,"col":40}},"generated_from_span":null},"id":1338,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":35},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":39},"end":{"line":218,"col":49}},"generated_from_span":null},"id":1339,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":48},"end":{"line":218,"col":49}},"generated_from_span":null},"id":1340,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"id":3150,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"id":3151,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":8323}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8311}},"Deref"]},"ty":{"Deduplicated":8307}},{"Field":[{"Adt":[3,null]},0]}]},"ty":{"Deduplicated":8139}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"id":3152,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"id":3153,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8138}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":8323}}},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":8324}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":50}},"generated_from_span":null},"id":1343,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":8316}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":67},"ty":{"Deduplicated":8324}},"Deref"]},"ty":{"Deduplicated":8138}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":22},"end":{"line":218,"col":58}},"generated_from_span":null},"id":1344,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":47}},"generics":{"regions":[{"Body":61}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":8316}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":8138}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":57},"end":{"line":218,"col":58}},"generated_from_span":null},"id":1345,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":218,"col":58},"end":{"line":218,"col":59}},"generated_from_span":null},"id":1346,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":15},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1347,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":51},"end":{"line":219,"col":59}},"generated_from_span":null},"id":1348,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":51},"end":{"line":219,"col":59}},"generated_from_span":null},"id":1349,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":61},"end":{"line":219,"col":69}},"generated_from_span":null},"id":1350,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":61},"end":{"line":219,"col":69}},"generated_from_span":null},"id":1351,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":61},"end":{"line":219,"col":69}},"generated_from_span":null},"id":1352,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":8318}},{"Ref":{"place":{"kind":{"Local":50},"ty":{"Deduplicated":8138}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":61},"end":{"line":219,"col":69}},"generated_from_span":null},"id":1353,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":8317}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":8318}},"Deref"]},"ty":{"Deduplicated":8138}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1354,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1355,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1356,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1357,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":8320}},{"Ref":{"place":{"kind":{"Local":20},"ty":{"Deduplicated":8309}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1358,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":8319}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":8320}},"Deref"]},"ty":{"Deduplicated":8309}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":71},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1359,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":8319}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":641}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":75},"end":{"line":219,"col":76}},"generated_from_span":null},"id":1360,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":78},"end":{"line":219,"col":85}},"generated_from_span":null},"id":1361,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":78},"end":{"line":219,"col":85}},"generated_from_span":null},"id":1362,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":644}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":87},"end":{"line":219,"col":92}},"generated_from_span":null},"id":1363,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":87},"end":{"line":219,"col":92}},"generated_from_span":null},"id":1364,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":87},"end":{"line":219,"col":92}},"generated_from_span":null},"id":1365,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":2665}},{"Ref":{"place":{"kind":{"Local":13},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":87},"end":{"line":219,"col":92}},"generated_from_span":null},"id":1366,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":2664}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":2665}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":15},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1367,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":48}},"generics":{"regions":[{"Body":67},{"Body":68},{"Body":69},{"Body":70}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":8317}}},{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":641}}},{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":644}}},{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":2664}}}],"dest":{"kind":{"Local":54},"ty":{"Deduplicated":8309}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":92},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1368,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":92},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1369,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":92},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1370,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":92},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1371,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":92},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1372,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":8},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1373,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8309}},{"Use":[{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":8309}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":92},"end":{"line":219,"col":93}},"generated_from_span":null},"id":1374,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":93},"end":{"line":219,"col":94}},"generated_from_span":null},"id":1375,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":93},"end":{"line":219,"col":94}},"generated_from_span":null},"id":1376,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":219,"col":93},"end":{"line":219,"col":94}},"generated_from_span":null},"id":1377,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1379,"kind":{"Drop":[{"kind":{"Local":50},"ty":{"Deduplicated":8138}},{"kind":{"Fun":{"Regular":185}},"generics":{"regions":[{"Body":72}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1380,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1381,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1382,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1383,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1384,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":206,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1387,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1390,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1391,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1393,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":220,"col":4},"end":{"line":220,"col":5}},"generated_from_span":null},"id":1394,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":4},"end":{"line":222,"col":8}},"generated_from_span":null},"id":1396,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":4},"end":{"line":222,"col":8}},"generated_from_span":null},"id":1397,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":8321}},{"Ref":{"place":{"kind":{"Local":20},"ty":{"Deduplicated":8309}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":12},"end":{"line":222,"col":20}},"generated_from_span":null},"id":1398,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":12},"end":{"line":222,"col":20}},"generated_from_span":null},"id":1399,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":8322}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":8312}},"Deref"]},"ty":{"Deduplicated":8309}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":4},"end":{"line":222,"col":20}},"generated_from_span":null},"id":1400,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":49}},"generics":{"regions":[{"Body":52},{"Body":53}],"types":[{"Deduplicated":293},{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8325,{"kind":{"TraitImpl":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":293},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":8321}}},{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":8322}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":403}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":19},"end":{"line":222,"col":20}},"generated_from_span":null},"id":1401,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":222,"col":19},"end":{"line":222,"col":20}},"generated_from_span":null},"id":1402,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1403,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1404,"kind":{"Drop":[{"kind":{"Local":17},"ty":{"Deduplicated":8138}},{"kind":{"Fun":{"Regular":185}},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":3}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1405,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1406,"kind":{"Drop":[{"kind":{"Local":13},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":55}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1407,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1408,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1409,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":0},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1410,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":223,"col":1},"end":{"line":223,"col":1}},"generated_from_span":null},"id":1411,"kind":"Return","comments_before":[]}]},"comments":[[210,["Aeneas-compat: plain cast (Result plumbing untranslatable-clean).","The value is masked to hp' bits and hp' <= 9 for every FIPS 205","parameter set, so the u32 conversion cannot fail: identical."]]]}}},{"def_id":12,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":6}},{"Ident":["default",0]}],"span":{"data":{"file_id":7,"beg":{"line":504,"col":12},"end":{"line":504,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":503,"col":45},"end":{"line":503,"col":52}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"HashConsedValue":[8153,{"Array":[{"Deduplicated":8140},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}]}]}},"src":{"TraitImpl":{"impl_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8154,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8153}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":13,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Adrs",0]},{"Impl":{"Trait":1}},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":2,"beg":{"line":116,"col":0},"end":{"line":132,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct Adrs {\n pub(crate) f0: [u8; 4],\n // layer address\n pub(crate) f1: [u8; 4],\n // tree address\n pub(crate) f2: [u8; 4],\n // tree address\n pub(crate) f3: [u8; 4],\n // tree address\n pub(crate) f4: [u8; 4],\n // type\n pub(crate) f5: [u8; 4],\n // key pair address OR padding\n pub(crate) f6: [u8; 4],\n // chain address OR padding OR tree height\n pub(crate) f7: [u8; 4], // hash address OR padding OR tree index OR hash address = 0\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":8273}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":1,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[2816,{"Ref":[{"Body":2},{"Deduplicated":508},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1412,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1413,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1414,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":1415,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":2816}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":["layer address","tree address","tree address","tree address","type","key pair address OR padding"]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":1416,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":54}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":2816}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":1417,"kind":"Return","comments_before":[]}]},"comments":[[814,["layer address"]],[816,["tree address"]],[818,["tree address"]],[820,["tree address"]],[822,["type"]],[824,["key pair address OR padding"]],[826,["chain address OR padding OR tree height"]]]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]},{"Ident":["index",0]}],"span":{"data":{"file_id":8,"beg":{"line":73,"col":4},"end":{"line":73,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8326,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8140},"Shared"]}]},{"Deduplicated":8145}],"output":{"Deduplicated":8270}},"src":{"TraitDecl":{"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":3}},{"Ident":["index",0]}],"span":{"data":{"file_id":9,"beg":{"line":18,"col":4},"end":{"line":18,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":13,"col":7},"end":{"line":13,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8148},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8327,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8148},"Shared"]}]},{"Deduplicated":8145}],"output":{"Deduplicated":8270}},"src":{"TraitImpl":{"impl_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8150,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8148},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":16,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get",0]}],"span":{"data":{"file_id":9,"beg":{"line":171,"col":4},"end":{"line":171,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"HashConsedValue":[8328,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8145},"Shared"]}]}],"output":{"HashConsedValue":[8329,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":8270}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":176,"col":4},"end":{"line":176,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"HashConsedValue":[8330,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8145},"Mut"]}]}],"output":{"HashConsedValue":[8332,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[8331,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8147},"Mut"]}]}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":18,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":9,"beg":{"line":186,"col":4},"end":{"line":186,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":8140},{"HashConsedValue":[8192,{"RawPtr":[{"Deduplicated":8145},"Shared"]}]}],"output":{"HashConsedValue":[8193,{"RawPtr":[{"Deduplicated":8147},"Shared"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":19,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":196,"col":4},"end":{"line":196,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":8140},{"HashConsedValue":[8194,{"RawPtr":[{"Deduplicated":8145},"Mut"]}]}],"output":{"HashConsedValue":[8195,{"RawPtr":[{"Deduplicated":8147},"Mut"]}]}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":20,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index",0]}],"span":{"data":{"file_id":9,"beg":{"line":202,"col":4},"end":{"line":202,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":8328}],"output":{"Deduplicated":8270}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":208,"col":4},"end":{"line":208,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":8330}],"output":{"Deduplicated":8331}},"src":{"TraitDecl":{"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get",0]}],"span":{"data":{"file_id":9,"beg":{"line":366,"col":4},"end":{"line":366,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":639},{"Deduplicated":8327}],"output":{"HashConsedValue":[8333,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":8327}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":23,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":379,"col":4},"end":{"line":379,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":639},{"HashConsedValue":[8334,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8148},"Mut"]}]}],"output":{"HashConsedValue":[8335,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":8334}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":24,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":9,"beg":{"line":392,"col":4},"end":{"line":392,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":639},{"HashConsedValue":[8336,{"RawPtr":[{"Deduplicated":8148},"Shared"]}]}],"output":{"Deduplicated":8336}},"src":{"TraitImpl":{"impl_ref":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":25,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":417,"col":4},"end":{"line":417,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":639},{"HashConsedValue":[8337,{"RawPtr":[{"Deduplicated":8148},"Mut"]}]}],"output":{"Deduplicated":8337}},"src":{"TraitImpl":{"impl_ref":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":26,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["index",0]}],"span":{"data":{"file_id":9,"beg":{"line":435,"col":4},"end":{"line":435,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":639},{"Deduplicated":8327}],"output":{"Deduplicated":8327}},"src":{"TraitImpl":{"impl_ref":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":27,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":448,"col":4},"end":{"line":448,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":639},{"Deduplicated":8334}],"output":{"Deduplicated":8334}},"src":{"TraitImpl":{"impl_ref":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":28,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1356},"kind":"InherentImplBlock"}}},{"Ident":["len",0]}],"span":{"data":{"file_id":10,"beg":{"line":116,"col":4},"end":{"line":116,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the number of elements in the slice."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":" assert_eq!(a.len(), 3);"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"slice_len_fn"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8327}],"output":{"Deduplicated":390}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":29,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":9}},{"Ident":["into_iter",0]}],"span":{"data":{"file_id":19,"beg":{"line":322,"col":4},"end":{"line":322,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":19,"beg":{"line":317,"col":14},"end":{"line":317,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140}],"output":{"Deduplicated":8140}},"src":{"TraitImpl":{"impl_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8155,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":30,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}},{"Ident":["next",0]}],"span":{"data":{"file_id":23,"beg":{"line":984,"col":4},"end":{"line":984,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"A"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":23,"beg":{"line":980,"col":8},"end":{"line":980,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8338,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8156,{"Adt":{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"HashConsedValue":[8201,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitImpl":{"impl_ref":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8157,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8156},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":31,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":12}},{"Ident":["from",0]}],"span":{"data":{"file_id":24,"beg":{"line":79,"col":12},"end":{"line":79,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":"Converts from [`u8`] to [`u64`] losslessly."}],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":293}],"output":{"Deduplicated":647}},"src":{"TraitImpl":{"impl_ref":{"id":12,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":647},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":32,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":647},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}],"span":{"data":{"file_id":12,"beg":{"line":51,"col":8},"end":{"line":51,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The largest value that can be represented by this integer type"},{"DocComment":"(264 − 1)."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"assert_eq!(u64::MAX, 18446744073709551615);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":647}},"src":"TopLevel","is_global_initializer":0,"body":"Opaque"},{"def_id":33,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":647},"kind":"InherentImplBlock"}}},{"Ident":["to_be_bytes",0]}],"span":{"data":{"file_id":12,"beg":{"line":3966,"col":8},"end":{"line":3966,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the memory representation of this integer as a byte array in"},{"DocComment":" big-endian (network) byte order."},{"DocComment":""},{"DocComment":""},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"let bytes = 0x1234567890123456u64.to_be_bytes();"},{"DocComment":"assert_eq!(bytes, [0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]);"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":647}],"output":{"Deduplicated":2134}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":34,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":1356},"kind":"InherentImplBlock"}}},{"Ident":["copy_from_slice",0]}],"span":{"data":{"file_id":10,"beg":{"line":4321,"col":4},"end":{"line":4323,"col":16}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Copies all elements from `src` into `self`, using a memcpy."},{"DocComment":""},{"DocComment":" The length of `src` must be the same as `self`."},{"DocComment":""},{"DocComment":" If `T` does not implement `Copy`, use [`clone_from_slice`]."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" This function will panic if the two slices have different lengths."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Copying two elements from a slice into another:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let src = [1, 2, 3, 4];"},{"DocComment":" let mut dst = [0, 0];"},{"DocComment":""},{"DocComment":" // Because the slices have to be the same length,"},{"DocComment":" // we slice the source slice from four elements"},{"DocComment":" // to two. It will panic if we don't do this."},{"DocComment":" dst.copy_from_slice(&src[2..]);"},{"DocComment":""},{"DocComment":" assert_eq!(src, [1, 2, 3, 4]);"},{"DocComment":" assert_eq!(dst, [3, 4]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Rust enforces that there can only be one mutable reference with no"},{"DocComment":" immutable references to a particular piece of data in a particular"},{"DocComment":" scope. Because of this, attempting to use `copy_from_slice` on a"},{"DocComment":" single slice will result in a compile failure:"},{"DocComment":""},{"DocComment":" ```compile_fail"},{"DocComment":" let mut slice = [1, 2, 3, 4, 5];"},{"DocComment":""},{"DocComment":" slice[..2].copy_from_slice(&slice[3..]); // compile fail!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" To work around this, we can use [`split_at_mut`] to create two distinct"},{"DocComment":" sub-slices from a slice:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut slice = [1, 2, 3, 4, 5];"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let (left, right) = slice.split_at_mut(2);"},{"DocComment":" left.copy_from_slice(&right[1..]);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(slice, [4, 5, 3, 4, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`clone_from_slice`]: slice::clone_from_slice"},{"DocComment":" [`split_at_mut`]: slice::split_at_mut"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":10,"beg":{"line":4323,"col":11},"end":{"line":4323,"col":15}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8334},{"HashConsedValue":[8339,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":8148},"Shared"]}]}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":35,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["to_be_bytes",0]}],"span":{"data":{"file_id":12,"beg":{"line":3966,"col":8},"end":{"line":3966,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the memory representation of this integer as a byte array in"},{"DocComment":" big-endian (network) byte order."},{"DocComment":""},{"DocComment":""},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"let bytes = 0x12345678u32.to_be_bytes();"},{"DocComment":"assert_eq!(bytes, [0x12, 0x34, 0x56, 0x78]);"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":490}],"output":{"Deduplicated":1268}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":36,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_TREE",0]}],"span":{"data":{"file_id":2,"beg":{"line":107,"col":0},"end":{"line":107,"col":36}},"generated_from_span":null},"source_text":"pub(crate) const FORS_TREE: u32 = 3;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":1,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":107,"col":0},"end":{"line":107,"col":36}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":107,"col":28},"end":{"line":107,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":107,"col":0},"end":{"line":107,"col":36}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":107,"col":34},"end":{"line":107,"col":35}},"generated_from_span":null},"id":1418,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","3"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":107,"col":0},"end":{"line":107,"col":36}},"generated_from_span":null},"id":1419,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":37,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":16}},{"Ident":["clone",0]}],"span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":114,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8340,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":508},"Shared"]}]}],"output":{"Deduplicated":508}},"src":{"TraitImpl":{"impl_ref":{"id":16,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":114,"col":14}},"generated_from_span":null},"bound_body_regions":35,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":114,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":114,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[5226,{"Ref":[{"Body":1},{"Deduplicated":508},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5229,{"Ref":[{"Body":3},{"Deduplicated":1268},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5230,{"Ref":[{"Body":4},{"Deduplicated":1268},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":6,"name":null,"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5231,{"Ref":[{"Body":5},{"Deduplicated":1268},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5232,{"Ref":[{"Body":6},{"Deduplicated":1268},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":9,"name":null,"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5233,{"Ref":[{"Body":7},{"Deduplicated":1268},"Shared"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5234,{"Ref":[{"Body":8},{"Deduplicated":1268},"Shared"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":12,"name":null,"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5235,{"Ref":[{"Body":9},{"Deduplicated":1268},"Shared"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5236,{"Ref":[{"Body":10},{"Deduplicated":1268},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":15,"name":null,"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5237,{"Ref":[{"Body":11},{"Deduplicated":1268},"Shared"]}]}},{"index":16,"name":null,"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5238,{"Ref":[{"Body":12},{"Deduplicated":1268},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":18,"name":null,"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5239,{"Ref":[{"Body":13},{"Deduplicated":1268},"Shared"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5240,{"Ref":[{"Body":14},{"Deduplicated":1268},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":21,"name":null,"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5241,{"Ref":[{"Body":15},{"Deduplicated":1268},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5242,{"Ref":[{"Body":16},{"Deduplicated":1268},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":24,"name":null,"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5243,{"Ref":[{"Body":17},{"Deduplicated":1268},"Shared"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5244,{"Ref":[{"Body":18},{"Deduplicated":1268},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":131,"col":26}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1420,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1421,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1422,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1423,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":5230}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1424,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":5229}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":5230}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":4},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1425,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":20}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[5198,{"kind":{"TraitImpl":{"id":29,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":5229}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":25},"end":{"line":117,"col":26}},"generated_from_span":null},"id":1426,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1427,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1428,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1429,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1430,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":5232}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1431,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":5231}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":5232}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":4},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1432,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":22}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":5231}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":25},"end":{"line":119,"col":26}},"generated_from_span":null},"id":1433,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1434,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1435,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1436,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1437,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":5234}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1438,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":5233}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":10},"ty":{"Deduplicated":5234}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":4},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1439,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":24}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":5233}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":25},"end":{"line":121,"col":26}},"generated_from_span":null},"id":1440,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1441,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1442,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1443,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1444,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":5236}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},3]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1445,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":5235}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":5236}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":4},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1446,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":26}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":5235}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":25},"end":{"line":123,"col":26}},"generated_from_span":null},"id":1447,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1448,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1449,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1450,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1451,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":5238}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},4]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1452,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":5237}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":5238}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":4},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1453,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":28}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":5237}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":25},"end":{"line":125,"col":26}},"generated_from_span":null},"id":1454,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1455,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1456,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1457,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1458,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":5240}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},5]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1459,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":5239}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":5240}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":4},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1460,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":30}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":5239}}}],"dest":{"kind":{"Local":17},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":25},"end":{"line":127,"col":26}},"generated_from_span":null},"id":1461,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1462,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1463,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1464,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1465,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":5242}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},6]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1466,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":5241}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":5242}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":4},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1467,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":32}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":5241}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":25},"end":{"line":129,"col":26}},"generated_from_span":null},"id":1468,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1469,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1470,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1471,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1472,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":5244}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},7]}]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1473,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":5243}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":5244}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":4},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1474,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":34}],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":5243}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":25},"end":{"line":131,"col":26}},"generated_from_span":null},"id":1475,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1476,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":508}},{"Aggregate":[{"Adt":[{"id":{"Adt":4},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":1268}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":1268}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1477,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1478,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1479,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1480,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1481,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1482,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1483,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1484,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1485,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1486,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1487,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1488,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1489,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1490,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1491,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":13},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1492,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":14},"end":{"line":114,"col":14}},"generated_from_span":null},"id":1493,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":38,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["base_2b",0]}],"span":{"data":{"file_id":11,"beg":{"line":68,"col":0},"end":{"line":114,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn base_2b(x: &[u8], b: u32, out_len: u32, baseb: &mut [u32]) {\n debug_assert!(x.len() >= ((out_len * b + 7) / 8) as usize);\n debug_assert!(b < 16);\n debug_assert_eq!(out_len as usize, baseb.len());\n\n // 1: in ← 0\n let mut inn = 0;\n\n // 2: bits ← 0\n let mut bits = 0;\n\n // 3: total ← 0\n let mut total = 0;\n\n // 4: for out from 0 to out_len − 1 do\n // Aeneas-compat: index loop instead of iter_mut() (the IterMut adapter with\n // its next_back write-back closure is untranslatable-clean; out_len ==\n // baseb.len() by the assert above, so 0..out_len writes exactly the same\n // slots in the same order with the same values — identical).\n for out in 0..(out_len as usize) {\n //\n // 5: while bits < b do\n while bits < b {\n //\n // 6: total ← (total ≪ 8) + X[in]\n total = (total << 8) + u32::from(x[inn]);\n\n // 7: in ← in + 1\n inn += 1;\n\n // 8: bits ← bits + 8\n bits += 8;\n\n // 9: end while\n }\n\n // 10: bits ← bits − b\n bits -= b;\n\n // 11: baseb[out] ← (total ≫ bits) mod 2^b\n baseb[out] = (total >> bits) & (u32::MAX >> (32 - b));\n\n // 12: end for\n }\n\n // 13: return baseb (mutable parameter)\n}","attr_info":{"attributes":[{"DocComment":" Algorithm 4: `base_2^b(X, b, out_len)` on page 16."},{"DocComment":" Computes the base 2^b representation of X."},{"DocComment":""},{"DocComment":" Input: Byte string `X` of length at least `ceil(out_len·b/8)`, integer `b`, output length `out_len`.
"},{"DocComment":" Output: Array of `out_len` integers in the range `[0, . . . , 2^b − 1]`."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"Deduplicated":490},{"Deduplicated":490},{"HashConsedValue":[8341,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":2440},"Mut"]}]}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":68,"col":0},"end":{"line":114,"col":1}},"generated_from_span":null},"bound_body_regions":35,"locals":{"arg_count":4,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":68,"col":72},"end":{"line":68,"col":72}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"x","span":{"data":{"file_id":11,"beg":{"line":68,"col":22},"end":{"line":68,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":406}},{"index":2,"name":"b","span":{"data":{"file_id":11,"beg":{"line":68,"col":32},"end":{"line":68,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":"out_len","span":{"data":{"file_id":11,"beg":{"line":68,"col":40},"end":{"line":68,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":4,"name":"baseb","span":{"data":{"file_id":11,"beg":{"line":68,"col":54},"end":{"line":68,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[5269,{"Ref":[{"Body":3},{"Deduplicated":2440},"Mut"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":6,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":7,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":8,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":2430}},{"index":9,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":29},"end":{"line":69,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":10,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":29},"end":{"line":69,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":11,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":30},"end":{"line":69,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":12,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":13,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":14,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":41},"end":{"line":69,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":15,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":16,"name":null,"span":{"data":{"file_id":11,"beg":{"line":69,"col":30},"end":{"line":69,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":17,"name":null,"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":18,"name":null,"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":19,"name":null,"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":20,"name":null,"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":21,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[5272,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[5271,{"Ref":[{"Body":8},{"Deduplicated":390},"Shared"]}]},{"Deduplicated":1491}],"const_generics":[],"trait_refs":[]}}}]}},{"index":22,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1492}},{"index":23,"name":null,"span":{"data":{"file_id":11,"beg":{"line":71,"col":21},"end":{"line":71,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":24,"name":null,"span":{"data":{"file_id":11,"beg":{"line":71,"col":21},"end":{"line":71,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":25,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":1493}},{"index":26,"name":null,"span":{"data":{"file_id":11,"beg":{"line":71,"col":39},"end":{"line":71,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":27,"name":null,"span":{"data":{"file_id":11,"beg":{"line":71,"col":39},"end":{"line":71,"col":44}},"generated_from_span":null},"ty":{"HashConsedValue":[5275,{"Ref":[{"Body":13},{"Deduplicated":2440},"Shared"]}]}},{"index":28,"name":"left_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":1531}},{"index":29,"name":"right_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":1532}},{"index":30,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":31,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":32,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":33,"name":"kind","span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":34,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":35,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[5276,{"Ref":[{"Body":16},{"Deduplicated":390},"Shared"]}]}},{"index":36,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[5277,{"Ref":[{"Body":17},{"Deduplicated":390},"Shared"]}]}},{"index":37,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[5278,{"Ref":[{"Body":18},{"Deduplicated":390},"Shared"]}]}},{"index":38,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[5279,{"Ref":[{"Body":19},{"Deduplicated":390},"Shared"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"ty":{"HashConsedValue":[5284,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[5283,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":22}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":40,"name":"inn","span":{"data":{"file_id":11,"beg":{"line":74,"col":8},"end":{"line":74,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":41,"name":"bits","span":{"data":{"file_id":11,"beg":{"line":77,"col":8},"end":{"line":77,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":42,"name":"total","span":{"data":{"file_id":11,"beg":{"line":80,"col":8},"end":{"line":80,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":43,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":44,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":45,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":18},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":46,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":19},"end":{"line":87,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":47,"name":"iter","span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":48,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":1603}},{"index":49,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"HashConsedValue":[5286,{"Ref":[{"Body":24},{"Deduplicated":639},"Mut"]}]}},{"index":50,"name":null,"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"ty":{"HashConsedValue":[5287,{"Ref":[{"Body":25},{"Deduplicated":639},"Mut"]}]}},{"index":51,"name":"out","span":{"data":{"file_id":11,"beg":{"line":87,"col":8},"end":{"line":87,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":52,"name":null,"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":53,"name":null,"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":54,"name":null,"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":55,"name":null,"span":{"data":{"file_id":11,"beg":{"line":93,"col":20},"end":{"line":93,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":56,"name":null,"span":{"data":{"file_id":11,"beg":{"line":93,"col":21},"end":{"line":93,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":57,"name":null,"span":{"data":{"file_id":11,"beg":{"line":93,"col":35},"end":{"line":93,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":58,"name":null,"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":293}},{"index":59,"name":null,"span":{"data":{"file_id":11,"beg":{"line":93,"col":47},"end":{"line":93,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":60,"name":null,"span":{"data":{"file_id":11,"beg":{"line":93,"col":20},"end":{"line":93,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":61,"name":null,"span":{"data":{"file_id":11,"beg":{"line":96,"col":12},"end":{"line":96,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":62,"name":null,"span":{"data":{"file_id":11,"beg":{"line":99,"col":12},"end":{"line":99,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":63,"name":null,"span":{"data":{"file_id":11,"beg":{"line":105,"col":16},"end":{"line":105,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":64,"name":null,"span":{"data":{"file_id":11,"beg":{"line":105,"col":8},"end":{"line":105,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":65,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":21},"end":{"line":108,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":66,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":22},"end":{"line":108,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":67,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":31},"end":{"line":108,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":68,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":39},"end":{"line":108,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":69,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":52},"end":{"line":108,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":70,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":58},"end":{"line":108,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":71,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":52},"end":{"line":108,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":72,"name":null,"span":{"data":{"file_id":11,"beg":{"line":108,"col":14},"end":{"line":108,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":7364}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":7363}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7376,{"Ref":["Erased",{"Deduplicated":2440},"Mut"]}]}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7375,{"Ref":["Erased",{"Deduplicated":490},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1494,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1495,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1503,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1504,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1505,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1506,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1508,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1513,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1515,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1516,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":["1: in ← 0","2: bits ← 0","3: total ← 0","4: for out from 0 to out_len − 1 do","Aeneas-compat: index loop instead of iter_mut() (the IterMut adapter with","its next_back write-back closure is untranslatable-clean; out_len ==","baseb.len() by the assert above, so 0..out_len writes exactly the same","slots in the same order with the same values — identical).","","5: while bits < b do","","6: total ← (total ≪ 8) + X[in]","7: in ← in + 1","8: bits ← bits + 8","9: end while","10: bits ← bits − b","11: baseb[out] ← (total ≫ bits) mod 2^b","12: end for","13: return baseb (mutable parameter)"]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1562,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1518,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":25}},"generated_from_span":null},"id":1519,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":19}},"generated_from_span":null},"id":1520,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":19}},"generated_from_span":null},"id":1521,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2430}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":25}},"generated_from_span":null},"id":1522,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":27}],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2430}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":390}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":24},"end":{"line":69,"col":25}},"generated_from_span":null},"id":1523,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":29},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1524,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":29},"end":{"line":69,"col":52}},"generated_from_span":null},"id":1525,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":30},"end":{"line":69,"col":47}},"generated_from_span":null},"id":1526,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1527,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":38}},"generated_from_span":null},"id":1528,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":38}},"generated_from_span":null},"id":1529,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":41},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1530,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":41},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1531,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1532,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Local":13},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":31},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1534,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":41},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1535,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":41},"end":{"line":69,"col":42}},"generated_from_span":null},"id":1536,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":30},"end":{"line":69,"col":47}},"generated_from_span":null},"id":1537,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":12},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":30},"end":{"line":69,"col":47}},"generated_from_span":null},"id":1539,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":46},"end":{"line":69,"col":47}},"generated_from_span":null},"id":1540,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":29},"end":{"line":69,"col":52}},"generated_from_span":null},"id":1543,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":51},"end":{"line":69,"col":52}},"generated_from_span":null},"id":1544,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":29},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1545,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":60},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1546,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1547,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":403}},{"BinaryOp":["Ge",{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1553,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":18},"end":{"line":69,"col":61}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":60},"end":{"line":69,"col":61}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":69,"col":60},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1549,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":60},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1550,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1552,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":60},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1554,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":69,"col":60},"end":{"line":69,"col":61}},"generated_from_span":null},"id":1555,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1557,"kind":{"StorageDead":6},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1563,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1566,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":1567,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1585,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":24}},"generated_from_span":null},"id":1569,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":19}},"generated_from_span":null},"id":1570,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":19}},"generated_from_span":null},"id":1571,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":24}},"generated_from_span":null},"id":1572,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":403}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","16"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":24}},"generated_from_span":null},"id":1577,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":18},"end":{"line":70,"col":24}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":23},"end":{"line":70,"col":24}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":70,"col":23},"end":{"line":70,"col":24}},"generated_from_span":null},"id":1574,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1576,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":70,"col":23},"end":{"line":70,"col":24}},"generated_from_span":null},"id":1578,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":1580,"kind":{"StorageDead":18},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":1586,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":1589,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":1590,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":319,"col":41}},"generated_from_span":null},"id":1653,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":1592,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":1593,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":21},"end":{"line":71,"col":37}},"generated_from_span":null},"id":1594,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":21},"end":{"line":71,"col":28}},"generated_from_span":null},"id":1595,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":21},"end":{"line":71,"col":28}},"generated_from_span":null},"id":1596,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":21},"end":{"line":71,"col":37}},"generated_from_span":null},"id":1597,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":36},"end":{"line":71,"col":37}},"generated_from_span":null},"id":1598,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":1599,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":1492}},{"Ref":{"place":{"kind":{"Local":23},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":1600,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":39},"end":{"line":71,"col":50}},"generated_from_span":null},"id":1601,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":39},"end":{"line":71,"col":44}},"generated_from_span":null},"id":1602,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":39},"end":{"line":71,"col":44}},"generated_from_span":null},"id":1603,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":5275}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":5269}},"Deref"]},"ty":{"Deduplicated":2440}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":5269}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":39},"end":{"line":71,"col":50}},"generated_from_span":null},"id":1604,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":28}},"generics":{"regions":[{"Body":29}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":5275}}}],"dest":{"kind":{"Local":26},"ty":{"Deduplicated":390}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":71,"col":49},"end":{"line":71,"col":50}},"generated_from_span":null},"id":1605,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":1606,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":1493}},{"Ref":{"place":{"kind":{"Local":26},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":1607,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":5272}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":1492}}},{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":1493}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":1608,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":1609,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":1610,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":1611,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":1531}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":5272}},{"Field":[{"Tuple":2},0]}]},"ty":{"HashConsedValue":[8342,{"Ref":[{"Body":30},{"Deduplicated":390},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":1612,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":1613,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":1532}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":21},"ty":{"Deduplicated":5272}},{"Field":[{"Tuple":2},1]}]},"ty":{"HashConsedValue":[8343,{"Ref":[{"Body":31},{"Deduplicated":390},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":1614,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":1615,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":1616,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":1531}},"Deref"]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":1617,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":1618,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":1532}},"Deref"]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":1619,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":403}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":1639,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":51,"col":113}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":1621,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":1622,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"id":1623,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":31},"end":{"line":47,"col":64}},"generated_from_span":null},"id":1624,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1528}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":1626,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":1627,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1528}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":1528}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":1628,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":1629,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":1630,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":5277}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":1531}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":1631,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":5276}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":36},"ty":{"Deduplicated":5277}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":1632,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":1633,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":1634,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":5279}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":1532}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":1635,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":5278}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":5279}},"Deref"]},"ty":{"Deduplicated":390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":1636,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":1637,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":5284}},{"Aggregate":[{"Adt":[{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[8344,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":32}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":1638,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["assert_failed",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":1640,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":1641,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":52,"col":16},"end":{"line":52,"col":17}},"generated_from_span":null},"id":1643,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":1644,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":1645,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":1646,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":1647,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":1648,"kind":{"StorageDead":21},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":321,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":1654,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":74,"col":8},"end":{"line":74,"col":15}},"generated_from_span":null},"id":1656,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":74,"col":18},"end":{"line":74,"col":19}},"generated_from_span":null},"id":1657,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":390}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":77,"col":8},"end":{"line":77,"col":16}},"generated_from_span":null},"id":1658,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":77,"col":19},"end":{"line":77,"col":20}},"generated_from_span":null},"id":1659,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":80,"col":8},"end":{"line":80,"col":17}},"generated_from_span":null},"id":1660,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":80,"col":20},"end":{"line":80,"col":21}},"generated_from_span":null},"id":1661,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1662,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1663,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":18},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1664,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":19},"end":{"line":87,"col":26}},"generated_from_span":null},"id":1665,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":19},"end":{"line":87,"col":26}},"generated_from_span":null},"id":1666,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":18},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1667,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":35},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1668,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1669,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":35},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1670,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1671,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":7625}]}}},"args":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":639}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":35},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1672,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1673,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1674,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":639}},{"Use":[{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":639}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1787,"kind":{"Loop":{"span":{"data":{"file_id":11,"beg":{"line":87,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1676,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1677,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1678,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1679,"kind":{"Assign":[{"kind":{"Local":50},"ty":{"Deduplicated":5287}},{"Ref":{"place":{"kind":{"Local":47},"ty":{"Deduplicated":639}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1680,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":5286}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":50},"ty":{"Deduplicated":5287}},"Deref"]},"ty":{"Deduplicated":639}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1681,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":34}],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":2099}]}}},"args":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":5286}}}],"dest":{"kind":{"Local":48},"ty":{"Deduplicated":1603}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":35},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1682,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1687,"kind":{"Switch":{"Match":[{"kind":{"Local":48},"ty":{"Deduplicated":1603}},[[[0],{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"id":1684,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":11,"beg":{"line":87,"col":15},"end":{"line":87,"col":36}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":8},"end":{"line":87,"col":11}},"generated_from_span":null},"id":1688,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":8},"end":{"line":87,"col":11}},"generated_from_span":null},"id":1689,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":48},"ty":{"Deduplicated":1603}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"id":1734,"kind":{"Loop":{"span":{"data":{"file_id":11,"beg":{"line":90,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1691,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":18}},"generated_from_span":null},"id":1692,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":18}},"generated_from_span":null},"id":1693,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1694,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1695,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1696,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":403}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"id":1733,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1697,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1698,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":20},"end":{"line":93,"col":32}},"generated_from_span":null},"id":1699,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":21},"end":{"line":93,"col":26}},"generated_from_span":null},"id":1700,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":21},"end":{"line":93,"col":26}},"generated_from_span":null},"id":1701,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":20},"end":{"line":93,"col":32}},"generated_from_span":null},"id":1705,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shl":"Panic"},{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"Deduplicated":2106}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":31},"end":{"line":93,"col":32}},"generated_from_span":null},"id":1706,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":35},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1707,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"id":1708,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":47},"end":{"line":93,"col":50}},"generated_from_span":null},"id":1709,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":47},"end":{"line":93,"col":50}},"generated_from_span":null},"id":1710,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"id":3158,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"id":3159,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":7364}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"id":3160,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"id":3161,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":7364}}},{"Copy":{"kind":{"Local":59},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":74},"ty":{"Deduplicated":7363}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":45},"end":{"line":93,"col":51}},"generated_from_span":null},"id":1714,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":293}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":74},"ty":{"Deduplicated":7363}},"Deref"]},"ty":{"Deduplicated":293}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":35},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1715,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":170}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":293}}}],"dest":{"kind":{"Local":57},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":51},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1716,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":20},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1717,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":57},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":12},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1719,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":51},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1720,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":51},"end":{"line":93,"col":52}},"generated_from_span":null},"id":1721,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":93,"col":52},"end":{"line":93,"col":53}},"generated_from_span":null},"id":1722,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":96,"col":12},"end":{"line":96,"col":20}},"generated_from_span":null},"id":1723,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","1"]}}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":96,"col":12},"end":{"line":96,"col":20}},"generated_from_span":null},"id":1725,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":99,"col":12},"end":{"line":99,"col":21}},"generated_from_span":null},"id":1726,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":99,"col":12},"end":{"line":99,"col":21}},"generated_from_span":null},"id":1728,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":102,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"id":1730,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"id":1731,"kind":{"Continue":0},"comments_before":[]}]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":22}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":90,"col":14},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1732,"kind":{"Break":0},"comments_before":[]}]}]}},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1735,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":90,"col":21},"end":{"line":90,"col":22}},"generated_from_span":null},"id":1736,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":102,"col":8},"end":{"line":102,"col":9}},"generated_from_span":null},"id":1740,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":105,"col":16},"end":{"line":105,"col":17}},"generated_from_span":null},"id":1742,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":105,"col":16},"end":{"line":105,"col":17}},"generated_from_span":null},"id":1743,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":105,"col":8},"end":{"line":105,"col":17}},"generated_from_span":null},"id":1744,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":63},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":105,"col":8},"end":{"line":105,"col":17}},"generated_from_span":null},"id":1746,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":105,"col":16},"end":{"line":105,"col":17}},"generated_from_span":null},"id":1747,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":21},"end":{"line":108,"col":36}},"generated_from_span":null},"id":1748,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":22},"end":{"line":108,"col":27}},"generated_from_span":null},"id":1749,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":22},"end":{"line":108,"col":27}},"generated_from_span":null},"id":1750,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":31},"end":{"line":108,"col":35}},"generated_from_span":null},"id":1751,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":31},"end":{"line":108,"col":35}},"generated_from_span":null},"id":1752,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":21},"end":{"line":108,"col":36}},"generated_from_span":null},"id":1755,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":35},"end":{"line":108,"col":36}},"generated_from_span":null},"id":1756,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":35},"end":{"line":108,"col":36}},"generated_from_span":null},"id":1757,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":39},"end":{"line":108,"col":61}},"generated_from_span":null},"id":1758,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":52},"end":{"line":108,"col":60}},"generated_from_span":null},"id":1759,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":58},"end":{"line":108,"col":59}},"generated_from_span":null},"id":1760,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":58},"end":{"line":108,"col":59}},"generated_from_span":null},"id":1761,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":52},"end":{"line":108,"col":60}},"generated_from_span":null},"id":1762,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","32"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":52},"end":{"line":108,"col":60}},"generated_from_span":null},"id":1764,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":59},"end":{"line":108,"col":60}},"generated_from_span":null},"id":1765,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":39},"end":{"line":108,"col":61}},"generated_from_span":null},"id":1768,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shr":"Panic"},{"Copy":{"kind":{"Global":{"id":11,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":60},"end":{"line":108,"col":61}},"generated_from_span":null},"id":1769,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":14},"end":{"line":108,"col":17}},"generated_from_span":null},"id":1770,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":14},"end":{"line":108,"col":17}},"generated_from_span":null},"id":1771,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":51},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":8},"end":{"line":108,"col":61}},"generated_from_span":null},"id":3162,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":8},"end":{"line":108,"col":61}},"generated_from_span":null},"id":3163,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":7376}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":5269}},"Deref"]},"ty":{"Deduplicated":2440}},"kind":"Mut","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":5269}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":8},"end":{"line":108,"col":61}},"generated_from_span":null},"id":3164,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":8},"end":{"line":108,"col":61}},"generated_from_span":null},"id":3165,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":false,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":7376}}},{"Copy":{"kind":{"Local":72},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":76},"ty":{"Deduplicated":7375}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":8},"end":{"line":108,"col":61}},"generated_from_span":null},"id":1776,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":76},"ty":{"Deduplicated":7375}},"Deref"]},"ty":{"Deduplicated":490}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":60},"end":{"line":108,"col":61}},"generated_from_span":null},"id":1777,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":60},"end":{"line":108,"col":61}},"generated_from_span":null},"id":1778,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":108,"col":61},"end":{"line":108,"col":62}},"generated_from_span":null},"id":1779,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1781,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1782,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1783,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1786,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":87,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1788,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1789,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1790,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1792,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":111,"col":4},"end":{"line":111,"col":5}},"generated_from_span":null},"id":1793,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":114,"col":0},"end":{"line":114,"col":1}},"generated_from_span":null},"id":1794,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":114,"col":0},"end":{"line":114,"col":1}},"generated_from_span":null},"id":1795,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":114,"col":0},"end":{"line":114,"col":1}},"generated_from_span":null},"id":1796,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":114,"col":1},"end":{"line":114,"col":1}},"generated_from_span":null},"id":1797,"kind":"Return","comments_before":[]}]},"comments":[[74,["1: in ← 0"]],[77,["2: bits ← 0"]],[80,["3: total ← 0"]],[87,["4: for out from 0 to out_len − 1 do","Aeneas-compat: index loop instead of iter_mut() (the IterMut adapter with","its next_back write-back closure is untranslatable-clean; out_len ==","baseb.len() by the assert above, so 0..out_len writes exactly the same","slots in the same order with the same values — identical)."]],[90,["","5: while bits < b do"]],[93,["","6: total ← (total ≪ 8) + X[in]"]],[96,["7: in ← in + 1"]],[99,["8: bits ← bits + 8"]],[102,["9: end while"]],[105,["10: bits ← bits − b"]],[108,["11: baseb[out] ← (total ≫ bits) mod 2^b"]],[111,["12: end for"]],[114,["13: return baseb (mutable parameter)"]]]}}},{"def_id":39,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_tree_height",0]}],"span":{"data":{"file_id":11,"beg":{"line":230,"col":4},"end":{"line":230,"col":82}},"generated_from_span":null},"source_text":"pub(crate) fn set_tree_height(&mut self, z: u32) { self.f6 = z.to_be_bytes() }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":230,"col":4},"end":{"line":230,"col":82}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":230,"col":52},"end":{"line":230,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":230,"col":34},"end":{"line":230,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"z","span":{"data":{"file_id":11,"beg":{"line":230,"col":45},"end":{"line":230,"col":46}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":230,"col":65},"end":{"line":230,"col":80}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":230,"col":65},"end":{"line":230,"col":66}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1798,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":65},"end":{"line":230,"col":80}},"generated_from_span":null},"id":1799,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":65},"end":{"line":230,"col":66}},"generated_from_span":null},"id":1800,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":65},"end":{"line":230,"col":66}},"generated_from_span":null},"id":1801,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":65},"end":{"line":230,"col":80}},"generated_from_span":null},"id":1802,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":79},"end":{"line":230,"col":80}},"generated_from_span":null},"id":1803,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":55},"end":{"line":230,"col":80}},"generated_from_span":null},"id":1804,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},6]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":55},"end":{"line":230,"col":80}},"generated_from_span":null},"id":1805,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":79},"end":{"line":230,"col":80}},"generated_from_span":null},"id":1806,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":230,"col":82},"end":{"line":230,"col":82}},"generated_from_span":null},"id":1807,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["get_key_pair_address",0]}],"span":{"data":{"file_id":11,"beg":{"line":209,"col":4},"end":{"line":209,"col":84}},"generated_from_span":null},"source_text":"pub(crate) fn get_key_pair_address(&self) -> u32 { u32::from_be_bytes(self.f5) }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8340}],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":209,"col":4},"end":{"line":209,"col":84}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":209,"col":49},"end":{"line":209,"col":52}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":209,"col":39},"end":{"line":209,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":5226}},{"index":2,"name":null,"span":{"data":{"file_id":11,"beg":{"line":209,"col":74},"end":{"line":209,"col":81}},"generated_from_span":null},"ty":{"Deduplicated":1268}}]},"body":{"span":{"data":{"file_id":11,"beg":{"line":209,"col":74},"end":{"line":209,"col":84}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":209,"col":74},"end":{"line":209,"col":81}},"generated_from_span":null},"id":1808,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":209,"col":74},"end":{"line":209,"col":81}},"generated_from_span":null},"id":1809,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1268}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":5226}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},5]}]},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":209,"col":55},"end":{"line":209,"col":82}},"generated_from_span":null},"id":1810,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":179}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1268}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":209,"col":81},"end":{"line":209,"col":82}},"generated_from_span":null},"id":1811,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":209,"col":84},"end":{"line":209,"col":84}},"generated_from_span":null},"id":1812,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":41,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["t_len",0]}],"span":{"data":{"file_id":0,"beg":{"line":69,"col":4},"end":{"line":73,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn t_len(\n pk_seed: &[u8], adrs: &Adrs, ml: &[[u8; N]; X],\n ) -> [u8; N] {\n crate::hashers::sha2_cat_1::t_l::(pk_seed, adrs, ml)\n }","attr_info":{"attributes":[],"inline":"Never","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"X","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"HashConsedValue":[8345,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":508},"Shared"]}]},{"HashConsedValue":[8346,{"Ref":[{"Var":{"Free":2}},{"Deduplicated":8142},"Shared"]}]}],"output":{"Deduplicated":8141}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":42,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_tree_index",0]}],"span":{"data":{"file_id":11,"beg":{"line":234,"col":4},"end":{"line":234,"col":81}},"generated_from_span":null},"source_text":"pub(crate) fn set_tree_index(&mut self, i: u32) { self.f7 = i.to_be_bytes() }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":234,"col":4},"end":{"line":234,"col":81}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":234,"col":51},"end":{"line":234,"col":51}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":234,"col":33},"end":{"line":234,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"i","span":{"data":{"file_id":11,"beg":{"line":234,"col":44},"end":{"line":234,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":234,"col":64},"end":{"line":234,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":234,"col":64},"end":{"line":234,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":1813,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":64},"end":{"line":234,"col":79}},"generated_from_span":null},"id":1814,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":64},"end":{"line":234,"col":65}},"generated_from_span":null},"id":1815,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":64},"end":{"line":234,"col":65}},"generated_from_span":null},"id":1816,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":64},"end":{"line":234,"col":79}},"generated_from_span":null},"id":1817,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":78},"end":{"line":234,"col":79}},"generated_from_span":null},"id":1818,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":54},"end":{"line":234,"col":79}},"generated_from_span":null},"id":1819,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},7]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":54},"end":{"line":234,"col":79}},"generated_from_span":null},"id":1820,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":78},"end":{"line":234,"col":79}},"generated_from_span":null},"id":1821,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":234,"col":81},"end":{"line":234,"col":81}},"generated_from_span":null},"id":1822,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":43,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["f",0]}],"span":{"data":{"file_id":0,"beg":{"line":49,"col":4},"end":{"line":51,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn f(pk_seed: &[u8], adrs: &Adrs, m1: &[u8]) -> [u8; N] {\n crate::hashers::sha2_cat_1::f::(pk_seed, adrs, m1)\n }","attr_info":{"attributes":[],"inline":"Never","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"Deduplicated":8345},{"Deduplicated":8266}],"output":{"Deduplicated":8133}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":44,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":18}},{"Ident":["clone",0]}],"span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":65,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8347,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8163,{"Adt":{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":8163}},"src":{"TraitImpl":{"impl_ref":{"id":18,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8163}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":65,"col":14}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":65,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":8163}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":65,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8348,{"Ref":[{"Body":1},{"Deduplicated":8163},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":8142}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[8349,{"Ref":[{"Body":3},{"Deduplicated":8142},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"ty":{"HashConsedValue":[8350,{"Ref":[{"Body":4},{"Deduplicated":8142},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":67,"col":33}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1823,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1824,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1825,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1826,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":8350}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8348}},"Deref"]},"ty":{"Deduplicated":8163}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1827,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8349}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":8350}},"Deref"]},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":4},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1828,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8351,{"kind":{"TraitImpl":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8141}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8349}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":8142}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":32},"end":{"line":67,"col":33}},"generated_from_span":null},"id":1829,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":65,"col":14}},"generated_from_span":null},"id":1830,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8163}},{"Aggregate":[{"Adt":[{"id":{"Adt":7},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8142}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":13},"end":{"line":65,"col":14}},"generated_from_span":null},"id":1831,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":13},"end":{"line":65,"col":14}},"generated_from_span":null},"id":1832,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":14},"end":{"line":65,"col":14}},"generated_from_span":null},"id":1833,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":45,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["get_tree_index",0]}],"span":{"data":{"file_id":11,"beg":{"line":232,"col":4},"end":{"line":232,"col":82}},"generated_from_span":null},"source_text":"pub(crate) fn get_tree_index(&mut self) -> u32 { u32::from_be_bytes(self.f7) }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273}],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":232,"col":4},"end":{"line":232,"col":82}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":232,"col":47},"end":{"line":232,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":232,"col":33},"end":{"line":232,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":null,"span":{"data":{"file_id":11,"beg":{"line":232,"col":72},"end":{"line":232,"col":79}},"generated_from_span":null},"ty":{"Deduplicated":1268}}]},"body":{"span":{"data":{"file_id":11,"beg":{"line":232,"col":72},"end":{"line":232,"col":82}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":232,"col":72},"end":{"line":232,"col":79}},"generated_from_span":null},"id":1834,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":232,"col":72},"end":{"line":232,"col":79}},"generated_from_span":null},"id":1835,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":1268}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},7]}]},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":232,"col":53},"end":{"line":232,"col":80}},"generated_from_span":null},"id":1836,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":179}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":1268}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":232,"col":79},"end":{"line":232,"col":80}},"generated_from_span":null},"id":1837,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":232,"col":82},"end":{"line":232,"col":82}},"generated_from_span":null},"id":1838,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":46,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["h",0]}],"span":{"data":{"file_id":0,"beg":{"line":54,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn h(pk_seed: &[u8], adrs: &Adrs, m1: &[u8], m2: &[u8]) -> [u8; N] {\n crate::hashers::sha2_cat_1::h::(pk_seed, adrs, m1, m2)\n }","attr_info":{"attributes":[],"inline":"Never","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"Deduplicated":8345},{"Deduplicated":8266},{"Deduplicated":8267}],"output":{"Deduplicated":8133}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":47,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":20}},{"Ident":["clone",0]}],"span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":90,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8352,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8164,{"Adt":{"id":{"Adt":8},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":8164}},"src":{"TraitImpl":{"impl_ref":{"id":20,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8164}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":90,"col":14}},"generated_from_span":null},"bound_body_regions":14,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":90,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":8164}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":90,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8353,{"Ref":[{"Body":1},{"Deduplicated":8164},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":8143}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"ty":{"HashConsedValue":[8354,{"Ref":[{"Body":3},{"Deduplicated":8143},"Shared"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"ty":{"HashConsedValue":[8355,{"Ref":[{"Body":4},{"Deduplicated":8143},"Shared"]}]}},{"index":5,"name":null,"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":8144}},{"index":6,"name":null,"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[8356,{"Ref":[{"Body":6},{"Deduplicated":8144},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[8357,{"Ref":[{"Body":7},{"Deduplicated":8144},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":93,"col":34}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1839,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1840,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1841,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1842,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":8355}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8353}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},0]}]},"ty":{"Deduplicated":8143}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1843,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8354}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":8355}},"Deref"]},"ty":{"Deduplicated":8143}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":4},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1844,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":181}},"generics":{"regions":[{"Body":9}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8354}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":8143}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":39},"end":{"line":92,"col":40}},"generated_from_span":null},"id":1845,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1846,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1847,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1848,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1849,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":8357}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8353}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},1]}]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1850,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":8356}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":8357}},"Deref"]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":4},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1851,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":11}],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8358,{"kind":{"TraitImpl":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5198}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8134}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":8356}}}],"dest":{"kind":{"Local":5},"ty":{"Deduplicated":8144}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":33},"end":{"line":93,"col":34}},"generated_from_span":null},"id":1852,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1853,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8164}},{"Aggregate":[{"Adt":[{"id":{"Adt":8},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8143}}},{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":8144}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":13},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1854,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":13},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1855,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":13},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1856,"kind":{"Drop":[{"kind":{"Local":2},"ty":{"Deduplicated":8143}},{"kind":{"Fun":{"Regular":254}},"generics":{"regions":[{"Body":13}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":13},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1857,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":13},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1858,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":14},"end":{"line":90,"col":14}},"generated_from_span":null},"id":1859,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["xmss_pk_from_sig_free",0]}],"span":{"data":{"file_id":0,"beg":{"line":156,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn xmss_pk_from_sig_free(\n idx: u32, sig_xmss: &XmssSig, m: &[u8], pk_seed: &[u8], adrs: &Adrs,\n) -> [u8; N] {\n let hp32 = HP as u32; // Aeneas-compat: lossless (HP <= 63 in all sets)\n let mut adrs = adrs.clone();\n\n adrs.set_type_and_clear(WOTS_HASH);\n adrs.set_key_pair_address(idx);\n\n let sig = sig_xmss.get_wots_sig();\n let auth = sig_xmss.get_xmss_auth();\n\n let mut node_0 = wots_pk_from_sig_free::(sig, m, pk_seed, &adrs).0;\n\n adrs.set_type_and_clear(TREE);\n adrs.set_tree_index(idx);\n\n for k in 0..hp32 {\n adrs.set_tree_height(k + 1);\n let node_1 = if ((idx >> k) & 1) == 0 {\n let tmp = adrs.get_tree_index() / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &node_0, &auth[k as usize])\n } else {\n let tmp = (adrs.get_tree_index() - 1) / 2;\n adrs.set_tree_index(tmp);\n oracle::h::(pk_seed, &adrs, &auth[k as usize], &node_0)\n };\n node_0 = node_1;\n }\n\n node_0\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":490},{"Deduplicated":8352},{"Deduplicated":8265},{"Deduplicated":8266},{"Deduplicated":8280}],"output":{"Deduplicated":8134}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":156,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"bound_body_regions":108,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":158,"col":5},"end":{"line":158,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":1,"name":"idx","span":{"data":{"file_id":0,"beg":{"line":157,"col":4},"end":{"line":157,"col":7}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":2,"name":"sig_xmss","span":{"data":{"file_id":0,"beg":{"line":157,"col":14},"end":{"line":157,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":8353}},{"index":3,"name":"m","span":{"data":{"file_id":0,"beg":{"line":157,"col":46},"end":{"line":157,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2429}},{"index":4,"name":"pk_seed","span":{"data":{"file_id":0,"beg":{"line":157,"col":56},"end":{"line":157,"col":63}},"generated_from_span":null},"ty":{"Deduplicated":2430}},{"index":5,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":157,"col":72},"end":{"line":157,"col":76}},"generated_from_span":null},"ty":{"Deduplicated":2432}},{"index":6,"name":"hp32","span":{"data":{"file_id":0,"beg":{"line":159,"col":8},"end":{"line":159,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":7,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":160,"col":8},"end":{"line":160,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":160,"col":19},"end":{"line":160,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2433}},{"index":9,"name":null,"span":{"data":{"file_id":0,"beg":{"line":162,"col":4},"end":{"line":162,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":10,"name":null,"span":{"data":{"file_id":0,"beg":{"line":162,"col":4},"end":{"line":162,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[5438,{"Ref":[{"Body":9},{"Deduplicated":508},"Mut"]}]}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":163,"col":4},"end":{"line":163,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":163,"col":4},"end":{"line":163,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[5439,{"Ref":[{"Body":10},{"Deduplicated":508},"Mut"]}]}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":163,"col":30},"end":{"line":163,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":14,"name":"sig","span":{"data":{"file_id":0,"beg":{"line":165,"col":8},"end":{"line":165,"col":11}},"generated_from_span":null},"ty":{"HashConsedValue":[8359,{"Ref":[{"Body":12},{"Deduplicated":8143},"Shared"]}]}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":165,"col":14},"end":{"line":165,"col":22}},"generated_from_span":null},"ty":{"HashConsedValue":[8360,{"Ref":[{"Body":13},{"Deduplicated":8164},"Shared"]}]}},{"index":16,"name":"auth","span":{"data":{"file_id":0,"beg":{"line":166,"col":8},"end":{"line":166,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[8361,{"Ref":[{"Body":15},{"Deduplicated":8144},"Shared"]}]}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":166,"col":15},"end":{"line":166,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[8362,{"Ref":[{"Body":16},{"Deduplicated":8164},"Shared"]}]}},{"index":18,"name":"node_0","span":{"data":{"file_id":0,"beg":{"line":168,"col":8},"end":{"line":168,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":168,"col":21},"end":{"line":168,"col":76}},"generated_from_span":null},"ty":{"HashConsedValue":[8363,{"Adt":{"id":{"Adt":49},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}},{"index":20,"name":null,"span":{"data":{"file_id":0,"beg":{"line":168,"col":53},"end":{"line":168,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[8364,{"Ref":[{"Body":17},{"Deduplicated":8143},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":0,"beg":{"line":168,"col":58},"end":{"line":168,"col":59}},"generated_from_span":null},"ty":{"HashConsedValue":[5456,{"Ref":[{"Body":18},{"Deduplicated":294},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":0,"beg":{"line":168,"col":61},"end":{"line":168,"col":68}},"generated_from_span":null},"ty":{"HashConsedValue":[5457,{"Ref":[{"Body":19},{"Deduplicated":294},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":168,"col":70},"end":{"line":168,"col":75}},"generated_from_span":null},"ty":{"HashConsedValue":[5458,{"Ref":[{"Body":20},{"Deduplicated":508},"Shared"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":168,"col":70},"end":{"line":168,"col":75}},"generated_from_span":null},"ty":{"Deduplicated":2460}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":170,"col":4},"end":{"line":170,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":170,"col":4},"end":{"line":170,"col":8}},"generated_from_span":null},"ty":{"Deduplicated":2658}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":171,"col":4},"end":{"line":171,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":171,"col":4},"end":{"line":171,"col":8}},"generated_from_span":null},"ty":{"HashConsedValue":[5459,{"Ref":[{"Body":23},{"Deduplicated":508},"Mut"]}]}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":171,"col":24},"end":{"line":171,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":173,"col":16},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":33,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":2452}},{"index":35,"name":null,"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[5461,{"Ref":[{"Body":25},{"Deduplicated":2449},"Mut"]}]}},{"index":36,"name":null,"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"ty":{"HashConsedValue":[5462,{"Ref":[{"Body":26},{"Deduplicated":2449},"Mut"]}]}},{"index":37,"name":"k","span":{"data":{"file_id":0,"beg":{"line":173,"col":8},"end":{"line":173,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":38,"name":null,"span":{"data":{"file_id":0,"beg":{"line":174,"col":8},"end":{"line":174,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":174,"col":8},"end":{"line":174,"col":12}},"generated_from_span":null},"ty":{"HashConsedValue":[5463,{"Ref":[{"Body":27},{"Deduplicated":508},"Mut"]}]}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":43,"name":"node_1","span":{"data":{"file_id":0,"beg":{"line":175,"col":12},"end":{"line":175,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":175,"col":24},"end":{"line":175,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":175,"col":24},"end":{"line":175,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":175,"col":25},"end":{"line":175,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":175,"col":26},"end":{"line":175,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":175,"col":33},"end":{"line":175,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":49,"name":"tmp","span":{"data":{"file_id":0,"beg":{"line":176,"col":16},"end":{"line":176,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":26}},"generated_from_span":null},"ty":{"HashConsedValue":[5464,{"Ref":[{"Body":28},{"Deduplicated":508},"Mut"]}]}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":177,"col":12},"end":{"line":177,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":177,"col":12},"end":{"line":177,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[5465,{"Ref":[{"Body":29},{"Deduplicated":508},"Mut"]}]}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":177,"col":32},"end":{"line":177,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":27},"end":{"line":178,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[5466,{"Ref":[{"Body":30},{"Deduplicated":294},"Shared"]}]}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":36},"end":{"line":178,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2665}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":36},"end":{"line":178,"col":41}},"generated_from_span":null},"ty":{"HashConsedValue":[5467,{"Ref":[{"Body":32},{"Deduplicated":508},"Shared"]}]}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[5468,{"Ref":[{"Body":33},{"Deduplicated":294},"Shared"]}]}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[8365,{"Ref":[{"Body":35},{"Deduplicated":8134},"Shared"]}]}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"ty":{"HashConsedValue":[8366,{"Ref":[{"Body":36},{"Deduplicated":8134},"Shared"]}]}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":2477}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":8289}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":8290}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":58},"end":{"line":178,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":178,"col":58},"end":{"line":178,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":66,"name":"tmp","span":{"data":{"file_id":0,"beg":{"line":180,"col":16},"end":{"line":180,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":180,"col":22},"end":{"line":180,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":180,"col":23},"end":{"line":180,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":180,"col":23},"end":{"line":180,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[5472,{"Ref":[{"Body":40},{"Deduplicated":508},"Mut"]}]}},{"index":70,"name":null,"span":{"data":{"file_id":0,"beg":{"line":180,"col":22},"end":{"line":180,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":71,"name":null,"span":{"data":{"file_id":0,"beg":{"line":181,"col":12},"end":{"line":181,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":181,"col":12},"end":{"line":181,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[5473,{"Ref":[{"Body":41},{"Deduplicated":508},"Mut"]}]}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":181,"col":32},"end":{"line":181,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":27},"end":{"line":182,"col":34}},"generated_from_span":null},"ty":{"HashConsedValue":[5474,{"Ref":[{"Body":42},{"Deduplicated":294},"Shared"]}]}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":36},"end":{"line":182,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":676}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":36},"end":{"line":182,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":677}},{"index":77,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":678}},{"index":78,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"ty":{"HashConsedValue":[8367,{"Ref":[{"Body":46},{"Deduplicated":8134},"Shared"]}]}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"ty":{"HashConsedValue":[8368,{"Ref":[{"Body":47},{"Deduplicated":8134},"Shared"]}]}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":49},"end":{"line":182,"col":59}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":81,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":49},"end":{"line":182,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":82,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":2487}},{"index":83,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":8293}},{"index":84,"name":null,"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"ty":{"Deduplicated":8294}},{"index":85,"name":null,"span":{"data":{"file_id":0,"beg":{"line":184,"col":17},"end":{"line":184,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":8134}},{"index":86,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8299}},{"index":87,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8300}},{"index":88,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8299}},{"index":89,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8300}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":159,"col":8},"end":{"line":188,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":159,"col":8},"end":{"line":159,"col":12}},"generated_from_span":null},"id":1862,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":159,"col":8},"end":{"line":159,"col":12}},"generated_from_span":null},"id":1866,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":159,"col":8},"end":{"line":159,"col":12}},"generated_from_span":null},"id":1869,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":159,"col":15},"end":{"line":159,"col":24}},"generated_from_span":null},"id":1870,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":160,"col":8},"end":{"line":160,"col":16}},"generated_from_span":null},"id":1871,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":160,"col":19},"end":{"line":160,"col":23}},"generated_from_span":null},"id":1872,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":160,"col":19},"end":{"line":160,"col":23}},"generated_from_span":null},"id":1873,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":2433}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":2432}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":160,"col":19},"end":{"line":160,"col":31}},"generated_from_span":null},"id":1874,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":52}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":2433}}}],"dest":{"kind":{"Local":7},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":160,"col":30},"end":{"line":160,"col":31}},"generated_from_span":null},"id":1875,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":162,"col":4},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1876,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":162,"col":4},"end":{"line":162,"col":8}},"generated_from_span":null},"id":1877,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":162,"col":4},"end":{"line":162,"col":8}},"generated_from_span":null},"id":1878,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":5438}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":162,"col":4},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1879,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":8}},"generics":{"regions":[{"Body":54}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":5438}}},{"Copy":{"kind":{"Global":{"id":12,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":162,"col":37},"end":{"line":162,"col":38}},"generated_from_span":null},"id":1880,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":162,"col":38},"end":{"line":162,"col":39}},"generated_from_span":null},"id":1881,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":4},"end":{"line":163,"col":34}},"generated_from_span":null},"id":1882,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":4},"end":{"line":163,"col":8}},"generated_from_span":null},"id":1883,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":4},"end":{"line":163,"col":8}},"generated_from_span":null},"id":1884,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":5439}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":30},"end":{"line":163,"col":33}},"generated_from_span":null},"id":1885,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":30},"end":{"line":163,"col":33}},"generated_from_span":null},"id":1886,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":4},"end":{"line":163,"col":34}},"generated_from_span":null},"id":1887,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":57}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":12},"ty":{"Deduplicated":5439}}},{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":33},"end":{"line":163,"col":34}},"generated_from_span":null},"id":1888,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":33},"end":{"line":163,"col":34}},"generated_from_span":null},"id":1889,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":163,"col":34},"end":{"line":163,"col":35}},"generated_from_span":null},"id":1890,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":165,"col":8},"end":{"line":165,"col":11}},"generated_from_span":null},"id":1891,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":165,"col":14},"end":{"line":165,"col":22}},"generated_from_span":null},"id":1892,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":165,"col":14},"end":{"line":165,"col":22}},"generated_from_span":null},"id":1893,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":8360}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8353}},"Deref"]},"ty":{"Deduplicated":8164}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":165,"col":14},"end":{"line":165,"col":37}},"generated_from_span":null},"id":1894,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":182}},"generics":{"regions":[{"Body":59}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":8360}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":8359}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":165,"col":36},"end":{"line":165,"col":37}},"generated_from_span":null},"id":1895,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":166,"col":8},"end":{"line":166,"col":12}},"generated_from_span":null},"id":1896,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":166,"col":15},"end":{"line":166,"col":23}},"generated_from_span":null},"id":1897,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":166,"col":15},"end":{"line":166,"col":23}},"generated_from_span":null},"id":1898,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":8362}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8353}},"Deref"]},"ty":{"Deduplicated":8164}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":166,"col":15},"end":{"line":166,"col":39}},"generated_from_span":null},"id":1899,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":183}},"generics":{"regions":[{"Body":61}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":8362}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":8361}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":166,"col":38},"end":{"line":166,"col":39}},"generated_from_span":null},"id":1900,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":8},"end":{"line":168,"col":18}},"generated_from_span":null},"id":1901,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":21},"end":{"line":168,"col":76}},"generated_from_span":null},"id":1902,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":53},"end":{"line":168,"col":56}},"generated_from_span":null},"id":1903,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":53},"end":{"line":168,"col":56}},"generated_from_span":null},"id":1904,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8364}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":14},"ty":{"Deduplicated":8359}},"Deref"]},"ty":{"Deduplicated":8143}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":58},"end":{"line":168,"col":59}},"generated_from_span":null},"id":1905,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":58},"end":{"line":168,"col":59}},"generated_from_span":null},"id":1906,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":5456}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2429}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2429}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":61},"end":{"line":168,"col":68}},"generated_from_span":null},"id":1907,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":61},"end":{"line":168,"col":68}},"generated_from_span":null},"id":1908,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":5457}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":70},"end":{"line":168,"col":75}},"generated_from_span":null},"id":1909,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":70},"end":{"line":168,"col":75}},"generated_from_span":null},"id":1910,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":70},"end":{"line":168,"col":75}},"generated_from_span":null},"id":1911,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":2460}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":70},"end":{"line":168,"col":75}},"generated_from_span":null},"id":1912,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":5458}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":24},"ty":{"Deduplicated":2460}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":21},"end":{"line":168,"col":76}},"generated_from_span":null},"id":1913,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":184}},"generics":{"regions":[{"Body":66},{"Body":67},{"Body":68},{"Body":69}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":8364}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":5456}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":5457}}},{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":5458}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":8363}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":75},"end":{"line":168,"col":76}},"generated_from_span":null},"id":1914,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":75},"end":{"line":168,"col":76}},"generated_from_span":null},"id":1915,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":75},"end":{"line":168,"col":76}},"generated_from_span":null},"id":1916,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":75},"end":{"line":168,"col":76}},"generated_from_span":null},"id":1917,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":21},"end":{"line":168,"col":78}},"generated_from_span":null},"id":1918,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":8363}},{"Field":[{"Adt":[49,null]},0]}]},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":78},"end":{"line":168,"col":79}},"generated_from_span":null},"id":1919,"kind":{"Drop":[{"kind":{"Local":19},"ty":{"Deduplicated":8363}},{"kind":{"Fun":{"Regular":261}},"generics":{"regions":[{"Body":70}],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":78},"end":{"line":168,"col":79}},"generated_from_span":null},"id":1920,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":168,"col":78},"end":{"line":168,"col":79}},"generated_from_span":null},"id":1921,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":170,"col":4},"end":{"line":170,"col":33}},"generated_from_span":null},"id":1922,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":170,"col":4},"end":{"line":170,"col":8}},"generated_from_span":null},"id":1923,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":170,"col":4},"end":{"line":170,"col":8}},"generated_from_span":null},"id":1924,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":2658}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":170,"col":4},"end":{"line":170,"col":33}},"generated_from_span":null},"id":1925,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":8}},"generics":{"regions":[{"Body":72}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":2658}}},{"Copy":{"kind":{"Global":{"id":13,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":25},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":170,"col":32},"end":{"line":170,"col":33}},"generated_from_span":null},"id":1926,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":170,"col":33},"end":{"line":170,"col":34}},"generated_from_span":null},"id":1927,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":4},"end":{"line":171,"col":28}},"generated_from_span":null},"id":1928,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":4},"end":{"line":171,"col":8}},"generated_from_span":null},"id":1929,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":4},"end":{"line":171,"col":8}},"generated_from_span":null},"id":1930,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":5459}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":24},"end":{"line":171,"col":27}},"generated_from_span":null},"id":1931,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":24},"end":{"line":171,"col":27}},"generated_from_span":null},"id":1932,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":4},"end":{"line":171,"col":28}},"generated_from_span":null},"id":1933,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":42}},"generics":{"regions":[{"Body":74}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":5459}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":27},"end":{"line":171,"col":28}},"generated_from_span":null},"id":1934,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":27},"end":{"line":171,"col":28}},"generated_from_span":null},"id":1935,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":171,"col":28},"end":{"line":171,"col":29}},"generated_from_span":null},"id":1936,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1938,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1939,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":16},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1940,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":16},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1941,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":6},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1942,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":2449}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":19},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1943,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1944,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":7637}]}}},"args":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":2449}}}],"dest":{"kind":{"Local":30},"ty":{"Deduplicated":2449}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":19},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1945,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1946,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1947,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":2449}},{"Use":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":2449}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2128,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":173,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1949,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1950,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1951,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1952,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":5462}},{"Ref":{"place":{"kind":{"Local":33},"ty":{"Deduplicated":2449}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1953,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":5461}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":36},"ty":{"Deduplicated":5462}},"Deref"]},"ty":{"Deduplicated":2449}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1954,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":76}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":2562}]}}},"args":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":5461}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":2452}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":19},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1955,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1960,"kind":{"Switch":{"Match":[{"kind":{"Local":34},"ty":{"Deduplicated":2452}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"id":1957,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":173,"col":13},"end":{"line":173,"col":20}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":8},"end":{"line":173,"col":9}},"generated_from_span":null},"id":1961,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":8},"end":{"line":173,"col":9}},"generated_from_span":null},"id":1962,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":34},"ty":{"Deduplicated":2452}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":8},"end":{"line":174,"col":35}},"generated_from_span":null},"id":1963,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":8},"end":{"line":174,"col":12}},"generated_from_span":null},"id":1964,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":8},"end":{"line":174,"col":12}},"generated_from_span":null},"id":1965,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":5463}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":34}},"generated_from_span":null},"id":1966,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":30}},"generated_from_span":null},"id":1967,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":30}},"generated_from_span":null},"id":1968,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":34}},"generated_from_span":null},"id":1969,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":41},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":29},"end":{"line":174,"col":34}},"generated_from_span":null},"id":1971,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":33},"end":{"line":174,"col":34}},"generated_from_span":null},"id":1972,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":8},"end":{"line":174,"col":35}},"generated_from_span":null},"id":1973,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":39}},"generics":{"regions":[{"Body":79}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":5463}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":38},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":34},"end":{"line":174,"col":35}},"generated_from_span":null},"id":1974,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":34},"end":{"line":174,"col":35}},"generated_from_span":null},"id":1975,"kind":{"StorageDead":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":174,"col":35},"end":{"line":174,"col":36}},"generated_from_span":null},"id":1976,"kind":{"StorageDead":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":12},"end":{"line":175,"col":18}},"generated_from_span":null},"id":1977,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":24},"end":{"line":175,"col":45}},"generated_from_span":null},"id":1978,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":24},"end":{"line":175,"col":40}},"generated_from_span":null},"id":1979,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":25},"end":{"line":175,"col":35}},"generated_from_span":null},"id":1980,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":26},"end":{"line":175,"col":29}},"generated_from_span":null},"id":1981,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":26},"end":{"line":175,"col":29}},"generated_from_span":null},"id":1982,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":33},"end":{"line":175,"col":34}},"generated_from_span":null},"id":1983,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":33},"end":{"line":175,"col":34}},"generated_from_span":null},"id":1984,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":25},"end":{"line":175,"col":35}},"generated_from_span":null},"id":1987,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shr":"Panic"},{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":34},"end":{"line":175,"col":35}},"generated_from_span":null},"id":1988,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":34},"end":{"line":175,"col":35}},"generated_from_span":null},"id":1989,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":24},"end":{"line":175,"col":40}},"generated_from_span":null},"id":1990,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":490}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":39},"end":{"line":175,"col":40}},"generated_from_span":null},"id":1991,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":24},"end":{"line":175,"col":45}},"generated_from_span":null},"id":1992,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":403}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":21},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2114,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":21},"end":{"line":183,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":175,"col":44},"end":{"line":175,"col":45}},"generated_from_span":null},"id":1993,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":16},"end":{"line":176,"col":19}},"generated_from_span":null},"id":1994,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":43}},"generated_from_span":null},"id":1995,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":26}},"generated_from_span":null},"id":1996,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":26}},"generated_from_span":null},"id":1997,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":5464}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":43}},"generated_from_span":null},"id":1998,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":45}},"generics":{"regions":[{"Body":81}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":5464}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":42},"end":{"line":176,"col":43}},"generated_from_span":null},"id":1999,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":22},"end":{"line":176,"col":47}},"generated_from_span":null},"id":2002,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":50},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":176,"col":46},"end":{"line":176,"col":47}},"generated_from_span":null},"id":2003,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":12},"end":{"line":177,"col":36}},"generated_from_span":null},"id":2004,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":12},"end":{"line":177,"col":16}},"generated_from_span":null},"id":2005,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":12},"end":{"line":177,"col":16}},"generated_from_span":null},"id":2006,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":5465}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":32},"end":{"line":177,"col":35}},"generated_from_span":null},"id":2007,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":32},"end":{"line":177,"col":35}},"generated_from_span":null},"id":2008,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":49},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":12},"end":{"line":177,"col":36}},"generated_from_span":null},"id":2009,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":42}},"generics":{"regions":[{"Body":85}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":5465}}},{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":52},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":35},"end":{"line":177,"col":36}},"generated_from_span":null},"id":2010,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":35},"end":{"line":177,"col":36}},"generated_from_span":null},"id":2011,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":177,"col":36},"end":{"line":177,"col":37}},"generated_from_span":null},"id":2012,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":27},"end":{"line":178,"col":34}},"generated_from_span":null},"id":2013,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":27},"end":{"line":178,"col":34}},"generated_from_span":null},"id":2014,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":5466}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":36},"end":{"line":178,"col":41}},"generated_from_span":null},"id":2015,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":36},"end":{"line":178,"col":41}},"generated_from_span":null},"id":2016,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":36},"end":{"line":178,"col":41}},"generated_from_span":null},"id":2017,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":5467}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":36},"end":{"line":178,"col":41}},"generated_from_span":null},"id":2018,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":2665}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":57},"ty":{"Deduplicated":5467}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2019,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2020,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2021,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2022,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":8366}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2023,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":8365}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":8366}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":43},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2024,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":8365}}}],"dest":{"kind":{"Local":58},"ty":{"Deduplicated":5468}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":49},"end":{"line":178,"col":50}},"generated_from_span":null},"id":2025,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2026,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2027,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2028,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":58},"end":{"line":178,"col":68}},"generated_from_span":null},"id":2029,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":58},"end":{"line":178,"col":59}},"generated_from_span":null},"id":2030,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":58},"end":{"line":178,"col":59}},"generated_from_span":null},"id":2031,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":58},"end":{"line":178,"col":68}},"generated_from_span":null},"id":2032,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":67},"end":{"line":178,"col":68}},"generated_from_span":null},"id":2033,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":3166,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":3167,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":8299}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":8361}},"Deref"]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":3168,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":3169,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":8299}}},{"Copy":{"kind":{"Local":64},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":87},"ty":{"Deduplicated":8300}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2036,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":8290}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":87},"ty":{"Deduplicated":8300}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2037,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":8289}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":63},"ty":{"Deduplicated":8290}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":52},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2038,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":8289}}}],"dest":{"kind":{"Local":61},"ty":{"Deduplicated":2477}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":68},"end":{"line":178,"col":69}},"generated_from_span":null},"id":2039,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":12},"end":{"line":178,"col":70}},"generated_from_span":null},"id":2040,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":46}},"generics":{"regions":[{"Body":94},{"Body":95},{"Body":96},{"Body":97}],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":5466}}},{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":2665}}},{"Move":{"kind":{"Local":58},"ty":{"Deduplicated":5468}}},{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":2477}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":69},"end":{"line":178,"col":70}},"generated_from_span":null},"id":2041,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":69},"end":{"line":178,"col":70}},"generated_from_span":null},"id":2042,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":69},"end":{"line":178,"col":70}},"generated_from_span":null},"id":2043,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":178,"col":69},"end":{"line":178,"col":70}},"generated_from_span":null},"id":2044,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":179,"col":8},"end":{"line":179,"col":9}},"generated_from_span":null},"id":2045,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":179,"col":8},"end":{"line":179,"col":9}},"generated_from_span":null},"id":2046,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":179,"col":8},"end":{"line":179,"col":9}},"generated_from_span":null},"id":2047,"kind":{"StorageDead":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":179,"col":8},"end":{"line":179,"col":9}},"generated_from_span":null},"id":2048,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":179,"col":8},"end":{"line":179,"col":9}},"generated_from_span":null},"id":2049,"kind":{"StorageDead":57},"comments_before":[]}]},{"span":{"data":{"file_id":0,"beg":{"line":175,"col":21},"end":{"line":183,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":175,"col":44},"end":{"line":175,"col":45}},"generated_from_span":null},"id":2051,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":16},"end":{"line":180,"col":19}},"generated_from_span":null},"id":2052,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":22},"end":{"line":180,"col":49}},"generated_from_span":null},"id":2053,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":23},"end":{"line":180,"col":44}},"generated_from_span":null},"id":2054,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":23},"end":{"line":180,"col":27}},"generated_from_span":null},"id":2055,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":23},"end":{"line":180,"col":27}},"generated_from_span":null},"id":2056,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":5472}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":23},"end":{"line":180,"col":44}},"generated_from_span":null},"id":2057,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":45}},"generics":{"regions":[{"Body":83}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":5472}}}],"dest":{"kind":{"Local":68},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":43},"end":{"line":180,"col":44}},"generated_from_span":null},"id":2058,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":22},"end":{"line":180,"col":49}},"generated_from_span":null},"id":2059,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":68},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":22},"end":{"line":180,"col":49}},"generated_from_span":null},"id":2061,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":70},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":48},"end":{"line":180,"col":49}},"generated_from_span":null},"id":2062,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":22},"end":{"line":180,"col":53}},"generated_from_span":null},"id":2065,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":67},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":180,"col":52},"end":{"line":180,"col":53}},"generated_from_span":null},"id":2066,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":12},"end":{"line":181,"col":36}},"generated_from_span":null},"id":2067,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":12},"end":{"line":181,"col":16}},"generated_from_span":null},"id":2068,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":12},"end":{"line":181,"col":16}},"generated_from_span":null},"id":2069,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":5473}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":32},"end":{"line":181,"col":35}},"generated_from_span":null},"id":2070,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":32},"end":{"line":181,"col":35}},"generated_from_span":null},"id":2071,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":66},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":12},"end":{"line":181,"col":36}},"generated_from_span":null},"id":2072,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":42}},"generics":{"regions":[{"Body":88}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":5473}}},{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":71},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":35},"end":{"line":181,"col":36}},"generated_from_span":null},"id":2073,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":35},"end":{"line":181,"col":36}},"generated_from_span":null},"id":2074,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":181,"col":36},"end":{"line":181,"col":37}},"generated_from_span":null},"id":2075,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":27},"end":{"line":182,"col":34}},"generated_from_span":null},"id":2076,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":27},"end":{"line":182,"col":34}},"generated_from_span":null},"id":2077,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":5474}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":36},"end":{"line":182,"col":41}},"generated_from_span":null},"id":2078,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":36},"end":{"line":182,"col":41}},"generated_from_span":null},"id":2079,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":36},"end":{"line":182,"col":41}},"generated_from_span":null},"id":2080,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":677}},{"Ref":{"place":{"kind":{"Local":7},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":36},"end":{"line":182,"col":41}},"generated_from_span":null},"id":2081,"kind":{"Assign":[{"kind":{"Local":75},"ty":{"Deduplicated":676}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":76},"ty":{"Deduplicated":677}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2082,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2083,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2084,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":49},"end":{"line":182,"col":59}},"generated_from_span":null},"id":2085,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":49},"end":{"line":182,"col":50}},"generated_from_span":null},"id":2086,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":49},"end":{"line":182,"col":50}},"generated_from_span":null},"id":2087,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":49},"end":{"line":182,"col":59}},"generated_from_span":null},"id":2088,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":81},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":58},"end":{"line":182,"col":59}},"generated_from_span":null},"id":2089,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":3170,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":3171,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":8299}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":16},"ty":{"Deduplicated":8361}},"Deref"]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":3172,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":3173,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":88},"ty":{"Deduplicated":8299}}},{"Copy":{"kind":{"Local":80},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":89},"ty":{"Deduplicated":8300}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2092,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":8368}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":89},"ty":{"Deduplicated":8300}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2093,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":8367}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":79},"ty":{"Deduplicated":8368}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":43},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2094,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":8367}}}],"dest":{"kind":{"Local":77},"ty":{"Deduplicated":678}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":59},"end":{"line":182,"col":60}},"generated_from_span":null},"id":2095,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2096,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2097,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2098,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2099,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":8294}},{"Ref":{"place":{"kind":{"Local":18},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2100,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":8293}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":84},"ty":{"Deduplicated":8294}},"Deref"]},"ty":{"Deduplicated":8134}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":62},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2101,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":83},"ty":{"Deduplicated":8293}}}],"dest":{"kind":{"Local":82},"ty":{"Deduplicated":2487}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":68},"end":{"line":182,"col":69}},"generated_from_span":null},"id":2102,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":12},"end":{"line":182,"col":70}},"generated_from_span":null},"id":2103,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":46}},"generics":{"regions":[{"Body":104},{"Body":105},{"Body":106},{"Body":107}],"types":[],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":5474}}},{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":676}}},{"Move":{"kind":{"Local":77},"ty":{"Deduplicated":678}}},{"Move":{"kind":{"Local":82},"ty":{"Deduplicated":2487}}}],"dest":{"kind":{"Local":43},"ty":{"Deduplicated":8134}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":69},"end":{"line":182,"col":70}},"generated_from_span":null},"id":2104,"kind":{"StorageDead":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":69},"end":{"line":182,"col":70}},"generated_from_span":null},"id":2105,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":69},"end":{"line":182,"col":70}},"generated_from_span":null},"id":2106,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":182,"col":69},"end":{"line":182,"col":70}},"generated_from_span":null},"id":2107,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":183,"col":8},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2108,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":183,"col":8},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2109,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":183,"col":8},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2110,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":183,"col":8},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2111,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":183,"col":8},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2112,"kind":{"StorageDead":76},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":183,"col":8},"end":{"line":183,"col":9}},"generated_from_span":null},"id":2115,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":184,"col":17},"end":{"line":184,"col":23}},"generated_from_span":null},"id":2116,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":184,"col":17},"end":{"line":184,"col":23}},"generated_from_span":null},"id":2117,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Local":43},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":184,"col":8},"end":{"line":184,"col":23}},"generated_from_span":null},"id":2118,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":8134}},{"Use":[{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":184,"col":22},"end":{"line":184,"col":23}},"generated_from_span":null},"id":2119,"kind":{"StorageDead":85},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2121,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2122,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2123,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2124,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":173,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2127,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2130,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2131,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2133,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":185,"col":4},"end":{"line":185,"col":5}},"generated_from_span":null},"id":2134,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":187,"col":4},"end":{"line":187,"col":10}},"generated_from_span":null},"id":2136,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8134}},{"Use":[{"Copy":{"kind":{"Local":18},"ty":{"Deduplicated":8134}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2137,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2138,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2139,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2140,"kind":{"Drop":[{"kind":{"Local":7},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":77}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2141,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":0},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2142,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":188,"col":1},"end":{"line":188,"col":1}},"generated_from_span":null},"id":2143,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["equality",0]},{"Impl":{"Trait":22}},{"Ident":["eq",0]}],"span":{"data":{"file_id":26,"beg":{"line":10,"col":4},"end":{"line":10,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"U"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":26,"beg":{"line":7,"col":7},"end":{"line":7,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8269},{"HashConsedValue":[8369,{"Ref":[{"Var":{"Free":1}},{"HashConsedValue":[8165,{"Array":[{"Deduplicated":8145},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]},"Shared"]}]}],"output":{"Deduplicated":403}},"src":{"TraitImpl":{"impl_ref":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8166,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8165}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":50,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_layer_address",0]}],"span":{"data":{"file_id":11,"beg":{"line":207,"col":4},"end":{"line":207,"col":86}},"generated_from_span":null},"source_text":"pub(crate) fn set_layer_address(&mut self, la: u32) { self.f0 = la.to_be_bytes() }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":207,"col":4},"end":{"line":207,"col":86}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":207,"col":55},"end":{"line":207,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":207,"col":36},"end":{"line":207,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"la","span":{"data":{"file_id":11,"beg":{"line":207,"col":47},"end":{"line":207,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":207,"col":68},"end":{"line":207,"col":84}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":207,"col":68},"end":{"line":207,"col":70}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2144,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":68},"end":{"line":207,"col":84}},"generated_from_span":null},"id":2145,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":68},"end":{"line":207,"col":70}},"generated_from_span":null},"id":2146,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":68},"end":{"line":207,"col":70}},"generated_from_span":null},"id":2147,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":68},"end":{"line":207,"col":84}},"generated_from_span":null},"id":2148,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":83},"end":{"line":207,"col":84}},"generated_from_span":null},"id":2149,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":58},"end":{"line":207,"col":84}},"generated_from_span":null},"id":2150,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":58},"end":{"line":207,"col":84}},"generated_from_span":null},"id":2151,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":83},"end":{"line":207,"col":84}},"generated_from_span":null},"id":2152,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":207,"col":86},"end":{"line":207,"col":86}},"generated_from_span":null},"id":2153,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":51,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsPk",0]},{"Impl":{"Trait":5}},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":2,"beg":{"line":60,"col":0},"end":{"line":62,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct ForsPk {\n pub(crate) key: [u8; N],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8370,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8152,{"Adt":{"id":{"Adt":6},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":5,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8152}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8371,{"Ref":[{"Body":1},{"Deduplicated":8152},"Mut"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8372,{"Ref":[{"Body":2},{"Deduplicated":8152},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2154,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2155,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2156,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2157,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8372}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8371}},"Deref"]},"ty":{"Deduplicated":8152}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2158,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":191}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8372}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2159,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":52,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]},{"Ident":["default",0]}],"span":{"data":{"file_id":14,"beg":{"line":139,"col":4},"end":{"line":139,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the \"default value\" for a type."},{"DocComment":""},{"DocComment":" Default values are often some kind of initial value, identity value, or anything else that"},{"DocComment":" may make sense as a default."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Using built-in default values:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let i: i8 = Default::default();"},{"DocComment":" let (x, y): (Option, f64) = Default::default();"},{"DocComment":" let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Making your own:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"default_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":53,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Impl":{"Trait":7}},{"Ident":["default",0]}],"span":{"data":{"file_id":14,"beg":{"line":157,"col":12},"end":{"line":157,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":"Returns the default value of `0`"}],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":293}},"src":{"TraitImpl":{"impl_ref":{"id":7,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":54,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":24}},{"Ident":["drop",0]}],"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"bound_body_regions":35,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":47},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"f0","span":{"data":{"file_id":2,"beg":{"line":117,"col":15},"end":{"line":117,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5601,{"Ref":[{"Body":3},{"Deduplicated":1268},"Mut"]}]}},{"index":3,"name":"f1","span":{"data":{"file_id":2,"beg":{"line":119,"col":15},"end":{"line":119,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[2139,{"Ref":[{"Body":4},{"Deduplicated":1268},"Mut"]}]}},{"index":4,"name":"f2","span":{"data":{"file_id":2,"beg":{"line":121,"col":15},"end":{"line":121,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2140}},{"index":5,"name":"f3","span":{"data":{"file_id":2,"beg":{"line":123,"col":15},"end":{"line":123,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5602,{"Ref":[{"Body":6},{"Deduplicated":1268},"Mut"]}]}},{"index":6,"name":"f4","span":{"data":{"file_id":2,"beg":{"line":125,"col":15},"end":{"line":125,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5603,{"Ref":[{"Body":7},{"Deduplicated":1268},"Mut"]}]}},{"index":7,"name":"f5","span":{"data":{"file_id":2,"beg":{"line":127,"col":15},"end":{"line":127,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5604,{"Ref":[{"Body":8},{"Deduplicated":1268},"Mut"]}]}},{"index":8,"name":"f6","span":{"data":{"file_id":2,"beg":{"line":129,"col":15},"end":{"line":129,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5605,{"Ref":[{"Body":9},{"Deduplicated":1268},"Mut"]}]}},{"index":9,"name":"f7","span":{"data":{"file_id":2,"beg":{"line":131,"col":15},"end":{"line":131,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5606,{"Ref":[{"Body":10},{"Deduplicated":1268},"Mut"]}]}},{"index":10,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":11,"name":null,"span":{"data":{"file_id":2,"beg":{"line":117,"col":15},"end":{"line":117,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5607,{"Ref":[{"Body":11},{"Deduplicated":1268},"Mut"]}]}},{"index":12,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":13,"name":null,"span":{"data":{"file_id":2,"beg":{"line":119,"col":15},"end":{"line":119,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5608,{"Ref":[{"Body":12},{"Deduplicated":1268},"Mut"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":15,"name":null,"span":{"data":{"file_id":2,"beg":{"line":121,"col":15},"end":{"line":121,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2155}},{"index":16,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":17,"name":null,"span":{"data":{"file_id":2,"beg":{"line":123,"col":15},"end":{"line":123,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5609,{"Ref":[{"Body":14},{"Deduplicated":1268},"Mut"]}]}},{"index":18,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":19,"name":null,"span":{"data":{"file_id":2,"beg":{"line":125,"col":15},"end":{"line":125,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5610,{"Ref":[{"Body":15},{"Deduplicated":1268},"Mut"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":21,"name":null,"span":{"data":{"file_id":2,"beg":{"line":127,"col":15},"end":{"line":127,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5611,{"Ref":[{"Body":16},{"Deduplicated":1268},"Mut"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":23,"name":null,"span":{"data":{"file_id":2,"beg":{"line":129,"col":15},"end":{"line":129,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5612,{"Ref":[{"Body":17},{"Deduplicated":1268},"Mut"]}]}},{"index":24,"name":null,"span":{"data":{"file_id":2,"beg":{"line":131,"col":15},"end":{"line":131,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[5613,{"Ref":[{"Body":18},{"Deduplicated":1268},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2160,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":15},"end":{"line":117,"col":17}},"generated_from_span":null},"id":2161,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":15},"end":{"line":117,"col":17}},"generated_from_span":null},"id":2162,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":5601}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},0]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":15},"end":{"line":119,"col":17}},"generated_from_span":null},"id":2163,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":15},"end":{"line":119,"col":17}},"generated_from_span":null},"id":2164,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":2139}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},1]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":15},"end":{"line":121,"col":17}},"generated_from_span":null},"id":2165,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":15},"end":{"line":121,"col":17}},"generated_from_span":null},"id":2166,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":2140}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},2]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":15},"end":{"line":123,"col":17}},"generated_from_span":null},"id":2167,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":15},"end":{"line":123,"col":17}},"generated_from_span":null},"id":2168,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":5602}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},3]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":15},"end":{"line":125,"col":17}},"generated_from_span":null},"id":2169,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":15},"end":{"line":125,"col":17}},"generated_from_span":null},"id":2170,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":5603}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},4]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":15},"end":{"line":127,"col":17}},"generated_from_span":null},"id":2171,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":15},"end":{"line":127,"col":17}},"generated_from_span":null},"id":2172,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":5604}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},5]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":15},"end":{"line":129,"col":17}},"generated_from_span":null},"id":2173,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":15},"end":{"line":129,"col":17}},"generated_from_span":null},"id":2174,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":5605}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},6]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":15},"end":{"line":131,"col":17}},"generated_from_span":null},"id":2175,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":15},"end":{"line":131,"col":17}},"generated_from_span":null},"id":2176,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":5606}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},7]}]},"ty":{"Deduplicated":1268}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2177,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":15},"end":{"line":117,"col":17}},"generated_from_span":null},"id":2178,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":117,"col":15},"end":{"line":117,"col":17}},"generated_from_span":null},"id":2179,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":5607}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":5601}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2180,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":20}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"HashConsedValue":[5700,{"kind":{"TraitImpl":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[5699,{"kind":{"TraitImpl":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[{"HashConsedValue":[5698,{"kind":{"TraitImpl":{"id":42,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":5607}}}],"dest":{"kind":{"Local":10},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2181,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2182,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2183,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":15},"end":{"line":119,"col":17}},"generated_from_span":null},"id":2184,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":119,"col":15},"end":{"line":119,"col":17}},"generated_from_span":null},"id":2185,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":5608}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2139}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2186,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":22}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":5608}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2187,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2188,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2189,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":15},"end":{"line":121,"col":17}},"generated_from_span":null},"id":2190,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":121,"col":15},"end":{"line":121,"col":17}},"generated_from_span":null},"id":2191,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":2155}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2140}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2192,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":24}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2155}}}],"dest":{"kind":{"Local":14},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2193,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2194,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2195,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":15},"end":{"line":123,"col":17}},"generated_from_span":null},"id":2196,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":123,"col":15},"end":{"line":123,"col":17}},"generated_from_span":null},"id":2197,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":5609}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":5602}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2198,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":26}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":5609}}}],"dest":{"kind":{"Local":16},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2199,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2200,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2201,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":15},"end":{"line":125,"col":17}},"generated_from_span":null},"id":2202,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":125,"col":15},"end":{"line":125,"col":17}},"generated_from_span":null},"id":2203,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":5610}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":6},"ty":{"Deduplicated":5603}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2204,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":28}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":19},"ty":{"Deduplicated":5610}}}],"dest":{"kind":{"Local":18},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2205,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2206,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2207,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":15},"end":{"line":127,"col":17}},"generated_from_span":null},"id":2208,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":127,"col":15},"end":{"line":127,"col":17}},"generated_from_span":null},"id":2209,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":5611}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":7},"ty":{"Deduplicated":5604}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2210,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":30}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":5611}}}],"dest":{"kind":{"Local":20},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2211,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2212,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2213,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":15},"end":{"line":129,"col":17}},"generated_from_span":null},"id":2214,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":129,"col":15},"end":{"line":129,"col":17}},"generated_from_span":null},"id":2215,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":5612}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":8},"ty":{"Deduplicated":5605}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2216,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":32}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":5612}}}],"dest":{"kind":{"Local":22},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2217,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2218,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":15},"end":{"line":131,"col":17}},"generated_from_span":null},"id":2219,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":131,"col":15},"end":{"line":131,"col":17}},"generated_from_span":null},"id":2220,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":5613}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":9},"ty":{"Deduplicated":5606}},"Deref"]},"ty":{"Deduplicated":1268}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2221,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":34}],"types":[{"Deduplicated":1268}],"const_generics":[],"trait_refs":[{"Deduplicated":5700}]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":5613}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2222,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2223,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2224,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2225,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2226,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2227,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2228,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2229,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":46},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2230,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":114,"col":47},"end":{"line":114,"col":47}},"generated_from_span":null},"id":2231,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":55,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]},{"Ident":["next",0]}],"span":{"data":{"file_id":22,"beg":{"line":78,"col":4},"end":{"line":78,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Advances the iterator and returns the next value."},{"DocComment":""},{"DocComment":" Returns [`None`] when iteration is finished. Individual iterator"},{"DocComment":" implementations may choose to resume iteration, and so calling `next()`"},{"DocComment":" again may or may not eventually start returning [`Some(Item)`] again at some"},{"DocComment":" point."},{"DocComment":""},{"DocComment":" [`Some(Item)`]: Some"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":""},{"DocComment":" let mut iter = a.into_iter();"},{"DocComment":""},{"DocComment":" // A call to next() returns the next value..."},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":""},{"DocComment":" // ... and then None once it's over."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":""},{"DocComment":" // More calls may or may not return `None`. Here, they always will."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"next"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"HashConsedValue":[8197,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{"def_id":141,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":23,"beg":{"line":49,"col":4},"end":{"line":49,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the bounds on the number of *successor* steps required to get from `start` to `end`"},{"DocComment":" like [`Iterator::size_hint()`][Iterator::size_hint()]."},{"DocComment":""},{"DocComment":" Returns `(usize::MAX, None)` if the number of steps would overflow `usize`, or is infinite."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `b`, and `n`:"},{"DocComment":""},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::forward_checked(&a, n) == Some(b)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::backward_checked(&b, n) == Some(a)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` only if `a <= b`"},{"DocComment":" * Corollary: `steps_between(&a, &b) == (0, Some(0))` if and only if `a == b`"},{"DocComment":" * `steps_between(&a, &b) == (0, None)` if `a > b`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8326},{"HashConsedValue":[8373,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":8140},"Shared"]}]}],"output":{"HashConsedValue":[2961,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":1603}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":142,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":23,"beg":{"line":67,"col":4},"end":{"line":67,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *successor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == Step::forward_checked(a, m).and_then(|x| Step::forward_checked(x, n))`"},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == try { Step::forward_checked(a, n.checked_add(m)) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::forward_checked(&x, 1))`"},{"DocComment":" * Corollary: `Step::forward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":390}],"output":{"Deduplicated":8201}},"src":{"TraitDecl":{"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":145,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":23,"beg":{"line":137,"col":4},"end":{"line":137,"col":67}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *predecessor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == n.checked_add(m).and_then(|x| Step::backward_checked(a, x))`"},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == try { Step::backward_checked(a, n.checked_add(m)?) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::backward_checked(x, 1))`"},{"DocComment":" * Corollary: `Step::backward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":390}],"output":{"Deduplicated":8201}},"src":{"TraitDecl":{"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":148,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":23,"beg":{"line":271,"col":16},"end":{"line":271,"col":84}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8374,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":390},"Shared"]}]},{"HashConsedValue":[8375,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":390},"Shared"]}]}],"output":{"Deduplicated":2961}},"src":{"TraitImpl":{"impl_ref":{"id":11,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":149,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":23,"beg":{"line":282,"col":16},"end":{"line":282,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":390},{"Deduplicated":390}],"output":{"Deduplicated":1603}},"src":{"TraitImpl":{"impl_ref":{"id":11,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":152,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":23,"beg":{"line":290,"col":16},"end":{"line":290,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":390},{"Deduplicated":390}],"output":{"Deduplicated":1603}},"src":{"TraitImpl":{"impl_ref":{"id":11,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":155,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get",0]}],"span":{"data":{"file_id":9,"beg":{"line":506,"col":4},"end":{"line":506,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2153},{"Deduplicated":8327}],"output":{"Deduplicated":8333}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":156,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":511,"col":4},"end":{"line":511,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2153},{"Deduplicated":8334}],"output":{"Deduplicated":8335}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":157,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":9,"beg":{"line":516,"col":4},"end":{"line":516,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":2153},{"Deduplicated":8336}],"output":{"Deduplicated":8336}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":158,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":522,"col":4},"end":{"line":522,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":2153},{"Deduplicated":8337}],"output":{"Deduplicated":8337}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":159,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["index",0]}],"span":{"data":{"file_id":9,"beg":{"line":528,"col":4},"end":{"line":528,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2153},{"Deduplicated":8327}],"output":{"Deduplicated":8327}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":160,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":533,"col":4},"end":{"line":533,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2153},{"Deduplicated":8334}],"output":{"Deduplicated":8334}},"src":{"TraitImpl":{"impl_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":161,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get",0]}],"span":{"data":{"file_id":9,"beg":{"line":545,"col":4},"end":{"line":545,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2166},{"Deduplicated":8327}],"output":{"Deduplicated":8333}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":162,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":550,"col":4},"end":{"line":550,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2166},{"Deduplicated":8334}],"output":{"Deduplicated":8335}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":163,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get_unchecked",0]}],"span":{"data":{"file_id":9,"beg":{"line":555,"col":4},"end":{"line":555,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":2166},{"Deduplicated":8336}],"output":{"Deduplicated":8336}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":2},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":164,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["get_unchecked_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":561,"col":4},"end":{"line":561,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":2166},{"Deduplicated":8337}],"output":{"Deduplicated":8337}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":3},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":165,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["index",0]}],"span":{"data":{"file_id":9,"beg":{"line":567,"col":4},"end":{"line":567,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2166},{"Deduplicated":8327}],"output":{"Deduplicated":8327}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":166,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":579,"col":4},"end":{"line":579,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":2166},{"Deduplicated":8334}],"output":{"Deduplicated":8334}},"src":{"TraitImpl":{"impl_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":5},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":167,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]},{"Ident":["clone",0]}],"span":{"data":{"file_id":36,"beg":{"line":236,"col":4},"end":{"line":236,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns a duplicate of the value."},{"DocComment":""},{"DocComment":" Note that what \"duplicate\" means varies by type:"},{"DocComment":" - For most types, this creates a deep, independent copy"},{"DocComment":" - For reference types like `&T`, this creates another reference to the same value"},{"DocComment":" - For smart pointers like [`Arc`] or [`Rc`], this increments the reference count"},{"DocComment":" but still points to the same underlying data"},{"DocComment":""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(noop_method_call)]"},{"DocComment":" let hello = \"Hello\"; // &str implements Clone"},{"DocComment":""},{"DocComment":" assert_eq!(\"Hello\", hello.clone());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Example with a reference-counted type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::sync::{Arc, Mutex};"},{"DocComment":""},{"DocComment":" let data = Arc::new(Mutex::new(vec![1, 2, 3]));"},{"DocComment":" let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let mut lock = data.lock().unwrap();"},{"DocComment":" lock.push(4);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Changes are visible through the clone because they share the same underlying data"},{"DocComment":" assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"clone_fn"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8326}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":169,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":31}},{"Ident":["clone",0]}],"span":{"data":{"file_id":7,"beg":{"line":449,"col":4},"end":{"line":449,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":447,"col":8},"end":{"line":447,"col":13}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8269}],"output":{"Deduplicated":8146}},"src":{"TraitImpl":{"impl_ref":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8171,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8146}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":170,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":32}},{"Ident":["from",0]}],"span":{"data":{"file_id":24,"beg":{"line":79,"col":12},"end":{"line":79,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":"Converts from [`u8`] to [`u32`] losslessly."}],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":293}],"output":{"Deduplicated":490}},"src":{"TraitImpl":{"impl_ref":{"id":32,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":171,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["steps_between",0]}],"span":{"data":{"file_id":23,"beg":{"line":271,"col":16},"end":{"line":271,"col":84}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8376,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":490},"Shared"]}]},{"HashConsedValue":[8377,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":490},"Shared"]}]}],"output":{"Deduplicated":2961}},"src":{"TraitImpl":{"impl_ref":{"id":17,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":172,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["forward_checked",0]}],"span":{"data":{"file_id":23,"beg":{"line":282,"col":16},"end":{"line":282,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":490},{"Deduplicated":390}],"output":{"Deduplicated":2452}},"src":{"TraitImpl":{"impl_ref":{"id":17,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":175,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}},{"Ident":["backward_checked",0]}],"span":{"data":{"file_id":23,"beg":{"line":290,"col":16},"end":{"line":290,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":490},{"Deduplicated":390}],"output":{"Deduplicated":2452}},"src":{"TraitImpl":{"impl_ref":{"id":17,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":4},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":178,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_ROOTS",0]}],"span":{"data":{"file_id":2,"beg":{"line":108,"col":0},"end":{"line":108,"col":37}},"generated_from_span":null},"source_text":"pub(crate) const FORS_ROOTS: u32 = 4;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":5,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":108,"col":0},"end":{"line":108,"col":37}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":108,"col":29},"end":{"line":108,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":108,"col":0},"end":{"line":108,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":108,"col":35},"end":{"line":108,"col":36}},"generated_from_span":null},"id":2232,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","4"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":108,"col":0},"end":{"line":108,"col":37}},"generated_from_span":null},"id":2233,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":179,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["from_be_bytes",0]}],"span":{"data":{"file_id":12,"beg":{"line":4054,"col":8},"end":{"line":4054,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates a native endian integer value from its representation"},{"DocComment":" as a byte array in big endian."},{"DocComment":""},{"DocComment":""},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"let value = u32::from_be_bytes([0x12, 0x34, 0x56, 0x78]);"},{"DocComment":"assert_eq!(value, 0x12345678);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When starting from a slice rather than an array, fallible conversion APIs can be used:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"fn read_be_u32(input: &mut &[u8]) -> u32 {"},{"DocComment":" let (int_bytes, rest) = input.split_at(size_of::());"},{"DocComment":" *input = rest;"},{"DocComment":" u32::from_be_bytes(int_bytes.try_into().unwrap())"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1268}],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":180,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Auth",0]},{"Impl":{"Trait":19}},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":2,"beg":{"line":66,"col":0},"end":{"line":68,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct Auth {\n pub(crate) tree: [[u8; N]; A],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8378,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8163},"Mut"]}]}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":19,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8163}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8379,{"Ref":[{"Body":1},{"Deduplicated":8163},"Mut"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8380,{"Ref":[{"Body":2},{"Deduplicated":8163},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2234,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2235,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2236,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2237,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8380}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8379}},"Deref"]},"ty":{"Deduplicated":8163}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2238,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":253}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8380}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2239,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":181,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":35}},{"Ident":["clone",0]}],"span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":79,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8381,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8173,{"Adt":{"id":{"Adt":16},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":8173}},"src":{"TraitImpl":{"impl_ref":{"id":35,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":79,"col":14}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":79,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":8173}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":79,"col":14}},"generated_from_span":null},"ty":{"HashConsedValue":[8382,{"Ref":[{"Body":1},{"Deduplicated":8173},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":8142}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":8349}},{"index":4,"name":null,"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"ty":{"Deduplicated":8350}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":81,"col":35}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2240,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2241,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2242,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2243,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":8350}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8382}},"Deref"]},"ty":{"Deduplicated":8173}},{"Field":[{"Adt":[16,null]},0]}]},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2244,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8349}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":8350}},"Deref"]},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":4},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2245,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":169}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8351}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8349}}}],"dest":{"kind":{"Local":2},"ty":{"Deduplicated":8142}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":34},"end":{"line":81,"col":35}},"generated_from_span":null},"id":2246,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":79,"col":14}},"generated_from_span":null},"id":2247,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8173}},{"Aggregate":[{"Adt":[{"id":{"Adt":16},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8142}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":13},"end":{"line":79,"col":14}},"generated_from_span":null},"id":2248,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":13},"end":{"line":79,"col":14}},"generated_from_span":null},"id":2249,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":14},"end":{"line":79,"col":14}},"generated_from_span":null},"id":2250,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":182,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":5394},"kind":"InherentImplBlock"}}},{"Ident":["get_wots_sig",0]}],"span":{"data":{"file_id":2,"beg":{"line":98,"col":4},"end":{"line":98,"col":76}},"generated_from_span":null},"source_text":"pub(crate) fn get_wots_sig(&self) -> &WotsSig { &self.sig_wots }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8352}],"output":{"HashConsedValue":[8383,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8143},"Shared"]}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":98,"col":4},"end":{"line":98,"col":76}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":98,"col":41},"end":{"line":98,"col":57}},"generated_from_span":null},"ty":{"HashConsedValue":[8384,{"Ref":[{"Body":1},{"Deduplicated":8143},"Shared"]}]}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":98,"col":31},"end":{"line":98,"col":36}},"generated_from_span":null},"ty":{"HashConsedValue":[8385,{"Ref":[{"Body":3},{"Deduplicated":8164},"Shared"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":98,"col":60},"end":{"line":98,"col":74}},"generated_from_span":null},"ty":{"Deduplicated":8355}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":98,"col":60},"end":{"line":98,"col":76}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":98,"col":60},"end":{"line":98,"col":74}},"generated_from_span":null},"id":2251,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":98,"col":60},"end":{"line":98,"col":74}},"generated_from_span":null},"id":2252,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8355}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8385}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},0]}]},"ty":{"Deduplicated":8143}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":98,"col":60},"end":{"line":98,"col":74}},"generated_from_span":null},"id":2253,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8384}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8355}},"Deref"]},"ty":{"Deduplicated":8143}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":98,"col":75},"end":{"line":98,"col":76}},"generated_from_span":null},"id":2254,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":98,"col":76},"end":{"line":98,"col":76}},"generated_from_span":null},"id":2255,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":183,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":5394},"kind":"InherentImplBlock"}}},{"Ident":["get_xmss_auth",0]}],"span":{"data":{"file_id":2,"beg":{"line":100,"col":4},"end":{"line":100,"col":71}},"generated_from_span":null},"source_text":"pub(crate) fn get_xmss_auth(&self) -> &[[u8; N]; HP] { &self.auth }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8352}],"output":{"HashConsedValue":[8386,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8144},"Shared"]}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":100,"col":4},"end":{"line":100,"col":71}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":100,"col":42},"end":{"line":100,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[8387,{"Ref":[{"Body":1},{"Deduplicated":8144},"Shared"]}]}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":100,"col":32},"end":{"line":100,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":8385}},{"index":2,"name":null,"span":{"data":{"file_id":2,"beg":{"line":100,"col":59},"end":{"line":100,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[8388,{"Ref":[{"Body":4},{"Deduplicated":8144},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":100,"col":59},"end":{"line":100,"col":71}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":100,"col":59},"end":{"line":100,"col":69}},"generated_from_span":null},"id":2256,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":100,"col":59},"end":{"line":100,"col":69}},"generated_from_span":null},"id":2257,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8388}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8385}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},1]}]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":100,"col":59},"end":{"line":100,"col":69}},"generated_from_span":null},"id":2258,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8387}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8388}},"Deref"]},"ty":{"Deduplicated":8144}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":100,"col":70},"end":{"line":100,"col":71}},"generated_from_span":null},"id":2259,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":100,"col":71},"end":{"line":100,"col":71}},"generated_from_span":null},"id":2260,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":184,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["wots_pk_from_sig_free",0]}],"span":{"data":{"file_id":0,"beg":{"line":107,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn wots_pk_from_sig_free(\n sig: &WotsSig, m: &[u8], pk_seed: &[u8], adrs: &Adrs,\n) -> WotsPk {\n // Aeneas-compat: plain cast for const-generic params (Result plumbing is\n // untranslatable-clean; every FIPS 205 parameter is <= 63, cast lossless).\n let n32 = N as u32;\n let mut adrs = adrs.clone();\n let mut tmp = [[0u8; N]; LEN];\n\n let mut csum = 0_u32;\n let mut msg = [0u32; LEN];\n base_2b(m, crate::LGW, 2 * n32, &mut msg[0..(2 * N)]);\n\n // Aeneas-compat: index loop with value reads (iterator adapters and the\n // &u32 Sub instance are untranslatable); same first-2N iteration space.\n for i in 0..(2 * N) {\n csum += crate::W - 1 - msg[i];\n }\n\n csum <<= (8 - ((crate::LEN2 * crate::LGW) & 0x07)) & 0x07;\n base_2b(\n &to_byte(csum, (crate::LEN2 * crate::LGW + 7) / 8),\n crate::LGW,\n crate::LEN2,\n &mut msg[(2 * N)..],\n );\n\n #[allow(clippy::cast_possible_truncation)]\n for i in 0..LEN {\n adrs.set_chain_address(i as u32);\n tmp[i] = chain_free::(\n sig.data[i],\n msg[i],\n crate::W - 1 - msg[i],\n pk_seed,\n &adrs,\n );\n }\n\n let mut wotspk_adrs = adrs.clone();\n wotspk_adrs.set_type_and_clear(WOTS_PK);\n wotspk_adrs.set_key_pair_address(adrs.get_key_pair_address());\n let pk = oracle::t_l::(pk_seed, &wotspk_adrs, &tmp);\n WotsPk(pk)\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"},{"index":3,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8381},{"Deduplicated":8265},{"Deduplicated":8266},{"Deduplicated":8280}],"output":{"HashConsedValue":[8389,{"Adt":{"id":{"Adt":49},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":107,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"bound_body_regions":86,"locals":{"arg_count":4,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":109,"col":5},"end":{"line":109,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":8389}},{"index":1,"name":"sig","span":{"data":{"file_id":0,"beg":{"line":108,"col":4},"end":{"line":108,"col":7}},"generated_from_span":null},"ty":{"Deduplicated":8382}},{"index":2,"name":"m","span":{"data":{"file_id":0,"beg":{"line":108,"col":27},"end":{"line":108,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":2429}},{"index":3,"name":"pk_seed","span":{"data":{"file_id":0,"beg":{"line":108,"col":37},"end":{"line":108,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2430}},{"index":4,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":108,"col":53},"end":{"line":108,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":2432}},{"index":5,"name":"n32","span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":6,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":113,"col":8},"end":{"line":113,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":113,"col":19},"end":{"line":113,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2433}},{"index":8,"name":"tmp","span":{"data":{"file_id":0,"beg":{"line":114,"col":8},"end":{"line":114,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":8142}},{"index":9,"name":null,"span":{"data":{"file_id":0,"beg":{"line":114,"col":19},"end":{"line":114,"col":27}},"generated_from_span":null},"ty":{"Deduplicated":8141}},{"index":10,"name":"csum","span":{"data":{"file_id":0,"beg":{"line":116,"col":8},"end":{"line":116,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":11,"name":"msg","span":{"data":{"file_id":0,"beg":{"line":117,"col":8},"end":{"line":117,"col":15}},"generated_from_span":null},"ty":{"HashConsedValue":[8390,{"Array":[{"Deduplicated":490},{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}]}]}},{"index":12,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":4},"end":{"line":118,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":1490}},{"index":14,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":31},"end":{"line":118,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":36},"end":{"line":118,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":2442}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":36},"end":{"line":118,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[6290,{"Ref":[{"Body":11},{"Deduplicated":2440},"Mut"]}]}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":44},"end":{"line":118,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[6291,{"Ref":[{"Body":12},{"Deduplicated":2440},"Mut"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":41},"end":{"line":118,"col":44}},"generated_from_span":null},"ty":{"HashConsedValue":[8391,{"Ref":[{"Body":14},{"Deduplicated":8390},"Mut"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":45},"end":{"line":118,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":22,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":48},"end":{"line":118,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":118,"col":48},"end":{"line":118,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":26,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":16},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":16},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":28,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":1603}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[6296,{"Ref":[{"Body":16},{"Deduplicated":639},"Mut"]}]}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[6297,{"Ref":[{"Body":17},{"Deduplicated":639},"Mut"]}]}},{"index":32,"name":"i","span":{"data":{"file_id":0,"beg":{"line":122,"col":8},"end":{"line":122,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":35,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":36,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":37,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":35},"end":{"line":123,"col":36}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":38,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":39,"name":null,"span":{"data":{"file_id":0,"beg":{"line":123,"col":8},"end":{"line":123,"col":37}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":40,"name":null,"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":61}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":41,"name":null,"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":42,"name":null,"span":{"data":{"file_id":0,"beg":{"line":126,"col":18},"end":{"line":126,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":43,"name":null,"span":{"data":{"file_id":0,"beg":{"line":126,"col":19},"end":{"line":126,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":44,"name":null,"span":{"data":{"file_id":0,"beg":{"line":126,"col":19},"end":{"line":126,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":45,"name":null,"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":46,"name":null,"span":{"data":{"file_id":0,"beg":{"line":127,"col":4},"end":{"line":132,"col":5}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":47,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":5456}},{"index":48,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"ty":{"HashConsedValue":[6303,{"Ref":[{"Body":20},{"HashConsedValue":[6301,{"Array":[{"Deduplicated":293},{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}]}]},"Shared"]}]}},{"index":49,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"ty":{"HashConsedValue":[6304,{"Ref":[{"Body":21},{"Deduplicated":6301},"Shared"]}]}},{"index":50,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":9},"end":{"line":128,"col":58}},"generated_from_span":null},"ty":{"Deduplicated":6301}},{"index":51,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":17},"end":{"line":128,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":52,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":53,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":54,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":24},"end":{"line":128,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":55,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":24},"end":{"line":128,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":56,"name":null,"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":57,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":8},"end":{"line":131,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6305,{"Ref":[{"Body":22},{"Deduplicated":2440},"Mut"]}]}},{"index":58,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":8},"end":{"line":131,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6306,{"Ref":[{"Body":23},{"Deduplicated":2440},"Mut"]}]}},{"index":59,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":16},"end":{"line":131,"col":27}},"generated_from_span":null},"ty":{"HashConsedValue":[6307,{"Ref":[{"Body":24},{"Deduplicated":2440},"Mut"]}]}},{"index":60,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":13},"end":{"line":131,"col":16}},"generated_from_span":null},"ty":{"HashConsedValue":[8392,{"Ref":[{"Body":25},{"Deduplicated":8390},"Mut"]}]}},{"index":61,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":2166}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":64,"name":null,"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":65,"name":null,"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":66,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":639}},{"index":67,"name":null,"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":1603}},{"index":68,"name":null,"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[6309,{"Ref":[{"Body":26},{"Deduplicated":639},"Mut"]}]}},{"index":69,"name":null,"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[6310,{"Ref":[{"Body":27},{"Deduplicated":639},"Mut"]}]}},{"index":70,"name":"i","span":{"data":{"file_id":0,"beg":{"line":135,"col":8},"end":{"line":135,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":71,"name":null,"span":{"data":{"file_id":0,"beg":{"line":136,"col":8},"end":{"line":136,"col":40}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":136,"col":8},"end":{"line":136,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":5465}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":136,"col":31},"end":{"line":136,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":136,"col":31},"end":{"line":136,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":137,"col":17},"end":{"line":143,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":8141}},{"index":76,"name":null,"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":8141}},{"index":77,"name":null,"span":{"data":{"file_id":0,"beg":{"line":138,"col":21},"end":{"line":138,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":78,"name":null,"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":79,"name":null,"span":{"data":{"file_id":0,"beg":{"line":139,"col":16},"end":{"line":139,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":80,"name":null,"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":81,"name":null,"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":82,"name":null,"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":83,"name":null,"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":84,"name":null,"span":{"data":{"file_id":0,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":85,"name":null,"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":33}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":86,"name":null,"span":{"data":{"file_id":0,"beg":{"line":141,"col":12},"end":{"line":141,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":5466}},{"index":87,"name":null,"span":{"data":{"file_id":0,"beg":{"line":142,"col":12},"end":{"line":142,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2665}},{"index":88,"name":null,"span":{"data":{"file_id":0,"beg":{"line":142,"col":12},"end":{"line":142,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":5467}},{"index":89,"name":null,"span":{"data":{"file_id":0,"beg":{"line":137,"col":12},"end":{"line":137,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":90,"name":"wotspk_adrs","span":{"data":{"file_id":0,"beg":{"line":146,"col":8},"end":{"line":146,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":91,"name":null,"span":{"data":{"file_id":0,"beg":{"line":146,"col":26},"end":{"line":146,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[6311,{"Ref":[{"Body":33},{"Deduplicated":508},"Shared"]}]}},{"index":92,"name":null,"span":{"data":{"file_id":0,"beg":{"line":147,"col":4},"end":{"line":147,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":93,"name":null,"span":{"data":{"file_id":0,"beg":{"line":147,"col":4},"end":{"line":147,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":658}},{"index":94,"name":null,"span":{"data":{"file_id":0,"beg":{"line":148,"col":4},"end":{"line":148,"col":65}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":95,"name":null,"span":{"data":{"file_id":0,"beg":{"line":148,"col":4},"end":{"line":148,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":659}},{"index":96,"name":null,"span":{"data":{"file_id":0,"beg":{"line":148,"col":37},"end":{"line":148,"col":64}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":97,"name":null,"span":{"data":{"file_id":0,"beg":{"line":148,"col":37},"end":{"line":148,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":2476}},{"index":98,"name":"pk","span":{"data":{"file_id":0,"beg":{"line":149,"col":8},"end":{"line":149,"col":10}},"generated_from_span":null},"ty":{"Deduplicated":8141}},{"index":99,"name":null,"span":{"data":{"file_id":0,"beg":{"line":149,"col":35},"end":{"line":149,"col":42}},"generated_from_span":null},"ty":{"Deduplicated":2477}},{"index":100,"name":null,"span":{"data":{"file_id":0,"beg":{"line":149,"col":44},"end":{"line":149,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[6312,{"Ref":[{"Body":38},{"Deduplicated":508},"Shared"]}]}},{"index":101,"name":null,"span":{"data":{"file_id":0,"beg":{"line":149,"col":44},"end":{"line":149,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[6313,{"Ref":[{"Body":39},{"Deduplicated":508},"Shared"]}]}},{"index":102,"name":null,"span":{"data":{"file_id":0,"beg":{"line":149,"col":58},"end":{"line":149,"col":62}},"generated_from_span":null},"ty":{"HashConsedValue":[8393,{"Ref":[{"Body":41},{"Deduplicated":8142},"Shared"]}]}},{"index":103,"name":null,"span":{"data":{"file_id":0,"beg":{"line":149,"col":58},"end":{"line":149,"col":62}},"generated_from_span":null},"ty":{"HashConsedValue":[8394,{"Ref":[{"Body":42},{"Deduplicated":8142},"Shared"]}]}},{"index":104,"name":null,"span":{"data":{"file_id":0,"beg":{"line":150,"col":11},"end":{"line":150,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":8141}},{"index":105,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8395,{"Ref":["Erased",{"Deduplicated":8390},"Shared"]}]}},{"index":106,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":6768}},{"index":107,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8396,{"Ref":["Erased",{"Deduplicated":8142},"Shared"]}]}},{"index":108,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8397,{"Ref":["Erased",{"Deduplicated":8141},"Shared"]}]}},{"index":109,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8395}},{"index":110,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":6768}},{"index":111,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":8395}},{"index":112,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":6768}},{"index":113,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8398,{"Ref":["Erased",{"Deduplicated":8142},"Mut"]}]}},{"index":114,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[8399,{"Ref":["Erased",{"Deduplicated":8141},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":151,"col":1}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2261,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2262,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2263,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2266,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2268,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2269,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2270,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2271,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2273,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2274,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2276,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2280,"kind":{"StorageLive":82},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2282,"kind":{"StorageLive":85},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":8},"end":{"line":112,"col":11}},"generated_from_span":null},"id":2284,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":112,"col":14},"end":{"line":112,"col":22}},"generated_from_span":null},"id":2285,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":["Aeneas-compat: plain cast for const-generic params (Result plumbing is","untranslatable-clean; every FIPS 205 parameter is <= 63, cast lossless)."]},{"span":{"data":{"file_id":0,"beg":{"line":113,"col":8},"end":{"line":113,"col":16}},"generated_from_span":null},"id":2286,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":113,"col":19},"end":{"line":113,"col":23}},"generated_from_span":null},"id":2287,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":113,"col":19},"end":{"line":113,"col":23}},"generated_from_span":null},"id":2288,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":2433}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":2432}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":113,"col":19},"end":{"line":113,"col":31}},"generated_from_span":null},"id":2289,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":44}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":2433}}}],"dest":{"kind":{"Local":6},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":113,"col":30},"end":{"line":113,"col":31}},"generated_from_span":null},"id":2290,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":114,"col":8},"end":{"line":114,"col":15}},"generated_from_span":null},"id":2291,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":114,"col":19},"end":{"line":114,"col":27}},"generated_from_span":null},"id":2292,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":114,"col":19},"end":{"line":114,"col":27}},"generated_from_span":null},"id":2293,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":293}}}],"dest":{"kind":{"Local":9},"ty":{"Deduplicated":8141}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":114,"col":18},"end":{"line":114,"col":33}},"generated_from_span":null},"id":2294,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":9},"ty":{"Deduplicated":8141}}}],"dest":{"kind":{"Local":8},"ty":{"Deduplicated":8142}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":114,"col":32},"end":{"line":114,"col":33}},"generated_from_span":null},"id":2295,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":116,"col":8},"end":{"line":116,"col":16}},"generated_from_span":null},"id":2296,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":116,"col":19},"end":{"line":116,"col":24}},"generated_from_span":null},"id":2297,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":117,"col":8},"end":{"line":117,"col":15}},"generated_from_span":null},"id":2298,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":117,"col":18},"end":{"line":117,"col":29}},"generated_from_span":null},"id":2299,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":11},"ty":{"Deduplicated":8390}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":4},"end":{"line":118,"col":57}},"generated_from_span":null},"id":2300,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":2301,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":12},"end":{"line":118,"col":13}},"generated_from_span":null},"id":2302,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":1490}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2429}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":2429}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":2303,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":31},"end":{"line":118,"col":34}},"generated_from_span":null},"id":2304,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":31},"end":{"line":118,"col":34}},"generated_from_span":null},"id":2305,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":5},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":2306,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":15},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":27},"end":{"line":118,"col":34}},"generated_from_span":null},"id":2308,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":33},"end":{"line":118,"col":34}},"generated_from_span":null},"id":2309,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":36},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2310,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":36},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2311,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":44},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2312,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":41},"end":{"line":118,"col":44}},"generated_from_span":null},"id":2313,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":41},"end":{"line":118,"col":44}},"generated_from_span":null},"id":2314,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":8391}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":8390}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":45},"end":{"line":118,"col":55}},"generated_from_span":null},"id":2315,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":48},"end":{"line":118,"col":55}},"generated_from_span":null},"id":2316,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":48},"end":{"line":118,"col":55}},"generated_from_span":null},"id":2317,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":48},"end":{"line":118,"col":55}},"generated_from_span":null},"id":2319,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":23},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":45},"end":{"line":118,"col":55}},"generated_from_span":null},"id":2320,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":22},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":54},"end":{"line":118,"col":55}},"generated_from_span":null},"id":2321,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":44},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2322,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":256}},"generics":{"regions":[{"Body":47}],"types":[{"Deduplicated":490},{"Deduplicated":639},{"Deduplicated":2440}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8401,{"kind":{"TraitImpl":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":639},{"Deduplicated":2440}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8400,{"kind":{"TraitImpl":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":2440},{"Deduplicated":2440}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":2440},{"Deduplicated":639},{"Deduplicated":2440}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":20},"ty":{"Deduplicated":8391}}},{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":19},"ty":{"Deduplicated":6291}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":55},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2323,"kind":{"StorageDead":21},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":55},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2324,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":36},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2325,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":6290}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":6291}},"Deref"]},"ty":{"Deduplicated":2440}},"kind":"Mut","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":19},"ty":{"Deduplicated":6291}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":36},"end":{"line":118,"col":56}},"generated_from_span":null},"id":2326,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":2442}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":6290}},"Deref"]},"ty":{"Deduplicated":2440}},"kind":"TwoPhaseMut","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":18},"ty":{"Deduplicated":6290}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":4},"end":{"line":118,"col":57}},"generated_from_span":null},"id":2327,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":38}},"generics":{"regions":[{"Body":50},{"Body":51}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":1490}}},{"Copy":{"kind":{"Global":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":2442}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":56},"end":{"line":118,"col":57}},"generated_from_span":null},"id":2328,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":56},"end":{"line":118,"col":57}},"generated_from_span":null},"id":2329,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":56},"end":{"line":118,"col":57}},"generated_from_span":null},"id":2330,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":57},"end":{"line":118,"col":58}},"generated_from_span":null},"id":2331,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":57},"end":{"line":118,"col":58}},"generated_from_span":null},"id":2332,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":118,"col":57},"end":{"line":118,"col":58}},"generated_from_span":null},"id":2333,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2335,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2336,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":16},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2337,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":16},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2338,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":["Aeneas-compat: index loop with value reads (iterator adapters and the","&u32 Sub instance are untranslatable); same first-2N iteration space."]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":16},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2340,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2341,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":22},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2342,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2343,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":7625}]}}},"args":[{"Move":{"kind":{"Local":25},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":24},"ty":{"Deduplicated":639}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":22},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2344,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2345,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2346,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":639}},{"Use":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":639}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2390,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":122,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2348,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2349,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2350,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2351,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":6297}},{"Ref":{"place":{"kind":{"Local":28},"ty":{"Deduplicated":639}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2352,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":6296}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":31},"ty":{"Deduplicated":6297}},"Deref"]},"ty":{"Deduplicated":639}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2353,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":53}],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":2099}]}}},"args":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":6296}}}],"dest":{"kind":{"Local":29},"ty":{"Deduplicated":1603}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":22},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2354,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2359,"kind":{"Switch":{"Match":[{"kind":{"Local":29},"ty":{"Deduplicated":1603}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"id":2356,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":122,"col":13},"end":{"line":122,"col":23}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":8},"end":{"line":122,"col":9}},"generated_from_span":null},"id":2360,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":8},"end":{"line":122,"col":9}},"generated_from_span":null},"id":2361,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":1603}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2362,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":28}},"generated_from_span":null},"id":2363,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":28}},"generated_from_span":null},"id":2364,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Global":{"id":22,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":28}},"generated_from_span":null},"id":2366,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2367,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":35},"end":{"line":123,"col":36}},"generated_from_span":null},"id":2368,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":35},"end":{"line":123,"col":36}},"generated_from_span":null},"id":2369,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":32},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"id":3174,"kind":{"StorageLive":105},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"id":3175,"kind":{"Assign":[{"kind":{"Local":105},"ty":{"Deduplicated":8395}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":8390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"id":3176,"kind":{"StorageLive":106},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"id":3177,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":105},"ty":{"Deduplicated":8395}}},{"Copy":{"kind":{"Local":37},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":106},"ty":{"Deduplicated":6768}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":31},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2372,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":106},"ty":{"Deduplicated":6768}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2373,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":34},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":36},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":16},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2375,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":38},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":36},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2376,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":36},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2377,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":8},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2378,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":33},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":8},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2380,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":39},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":36},"end":{"line":123,"col":37}},"generated_from_span":null},"id":2381,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":123,"col":37},"end":{"line":123,"col":38}},"generated_from_span":null},"id":2382,"kind":{"StorageDead":37},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2384,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2385,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2386,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":122,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2389,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2392,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2393,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2395,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":124,"col":4},"end":{"line":124,"col":5}},"generated_from_span":null},"id":2396,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":61}},"generated_from_span":null},"id":2398,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":54}},"generated_from_span":null},"id":2399,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":18},"end":{"line":126,"col":53}},"generated_from_span":null},"id":2400,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":19},"end":{"line":126,"col":45}},"generated_from_span":null},"id":2401,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":19},"end":{"line":126,"col":45}},"generated_from_span":null},"id":2402,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Global":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Global":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":19},"end":{"line":126,"col":45}},"generated_from_span":null},"id":2404,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":44},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":18},"end":{"line":126,"col":53}},"generated_from_span":null},"id":2405,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":490}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":52},"end":{"line":126,"col":53}},"generated_from_span":null},"id":2406,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":54}},"generated_from_span":null},"id":2407,"kind":{"Assign":[{"kind":{"Local":45},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":42},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":54}},"generated_from_span":null},"id":2409,"kind":{"Assign":[{"kind":{"Local":41},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":45},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":53},"end":{"line":126,"col":54}},"generated_from_span":null},"id":2410,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":13},"end":{"line":126,"col":61}},"generated_from_span":null},"id":2411,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":490}},{"BinaryOp":["BitAnd",{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":60},"end":{"line":126,"col":61}},"generated_from_span":null},"id":2412,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":4},"end":{"line":126,"col":61}},"generated_from_span":null},"id":2415,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shl":"Panic"},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":40},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":126,"col":60},"end":{"line":126,"col":61}},"generated_from_span":null},"id":2416,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":127,"col":4},"end":{"line":132,"col":5}},"generated_from_span":null},"id":2417,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2418,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2419,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2420,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":9},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2421,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":17},"end":{"line":128,"col":21}},"generated_from_span":null},"id":2422,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":17},"end":{"line":128,"col":21}},"generated_from_span":null},"id":2423,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":57}},"generated_from_span":null},"id":2424,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":53}},"generated_from_span":null},"id":2425,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":24},"end":{"line":128,"col":48}},"generated_from_span":null},"id":2426,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":24},"end":{"line":128,"col":48}},"generated_from_span":null},"id":2427,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Global":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Global":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":24},"end":{"line":128,"col":48}},"generated_from_span":null},"id":2429,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":55},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":53}},"generated_from_span":null},"id":2430,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":54},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":53}},"generated_from_span":null},"id":2432,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":56},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":52},"end":{"line":128,"col":53}},"generated_from_span":null},"id":2433,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":23},"end":{"line":128,"col":57}},"generated_from_span":null},"id":2436,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":53},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":56},"end":{"line":128,"col":57}},"generated_from_span":null},"id":2437,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":9},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2438,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":257}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":52},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":6301}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":57},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2439,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":57},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2440,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2441,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":6304}},{"Ref":{"place":{"kind":{"Local":50},"ty":{"Deduplicated":6301}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2442,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":6303}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":49},"ty":{"Deduplicated":6304}},"Deref"]},"ty":{"Deduplicated":6301}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":8},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2443,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":48},"ty":{"Deduplicated":6303}}}],"dest":{"kind":{"Local":47},"ty":{"Deduplicated":5456}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":128,"col":57},"end":{"line":128,"col":58}},"generated_from_span":null},"id":2444,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":8},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2445,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":8},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2446,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":16},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2447,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":13},"end":{"line":131,"col":16}},"generated_from_span":null},"id":2448,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":13},"end":{"line":131,"col":16}},"generated_from_span":null},"id":2449,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":8392}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":8390}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":26}},"generated_from_span":null},"id":2450,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":24}},"generated_from_span":null},"id":2451,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":24}},"generated_from_span":null},"id":2452,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":390}},{"BinaryOp":[{"Mul":"Panic"},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":24}},"generated_from_span":null},"id":2454,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":390}},{"Use":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":17},"end":{"line":131,"col":26}},"generated_from_span":null},"id":2455,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":2166}},{"Aggregate":[{"Adt":[{"id":{"Adt":15},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":25},"end":{"line":131,"col":26}},"generated_from_span":null},"id":2456,"kind":{"StorageDead":62},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":16},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2457,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":256}},"generics":{"regions":[{"Body":56}],"types":[{"Deduplicated":490},{"Deduplicated":2166},{"Deduplicated":2440}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8403,{"kind":{"TraitImpl":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":2166},{"Deduplicated":2440}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8402,{"kind":{"TraitImpl":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":2440},{"Deduplicated":2440}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":2440},{"Deduplicated":2166},{"Deduplicated":2440}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":60},"ty":{"Deduplicated":8392}}},{"Move":{"kind":{"Local":61},"ty":{"Deduplicated":2166}}}],"dest":{"kind":{"Local":59},"ty":{"Deduplicated":6307}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":26},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2458,"kind":{"StorageDead":61},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":26},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2459,"kind":{"StorageDead":60},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":8},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2460,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":6306}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":6307}},"Deref"]},"ty":{"Deduplicated":2440}},"kind":"Mut","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":59},"ty":{"Deduplicated":6307}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":131,"col":8},"end":{"line":131,"col":27}},"generated_from_span":null},"id":2461,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":6305}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":6306}},"Deref"]},"ty":{"Deduplicated":2440}},"kind":"TwoPhaseMut","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":58},"ty":{"Deduplicated":6306}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":127,"col":4},"end":{"line":132,"col":5}},"generated_from_span":null},"id":2462,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":38}},"generics":{"regions":[{"Body":59},{"Body":60}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":47},"ty":{"Deduplicated":5456}}},{"Copy":{"kind":{"Global":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Global":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":6305}}}],"dest":{"kind":{"Local":46},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":4},"end":{"line":132,"col":5}},"generated_from_span":null},"id":2463,"kind":{"StorageDead":57},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":4},"end":{"line":132,"col":5}},"generated_from_span":null},"id":2464,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":5},"end":{"line":132,"col":6}},"generated_from_span":null},"id":2465,"kind":{"StorageDead":59},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":5},"end":{"line":132,"col":6}},"generated_from_span":null},"id":2466,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":5},"end":{"line":132,"col":6}},"generated_from_span":null},"id":2467,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":5},"end":{"line":132,"col":6}},"generated_from_span":null},"id":2468,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":132,"col":5},"end":{"line":132,"col":6}},"generated_from_span":null},"id":2469,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2471,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2472,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2473,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":639}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},{"Const":{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2474,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":7625}]}}},"args":[{"Move":{"kind":{"Local":65},"ty":{"Deduplicated":639}}}],"dest":{"kind":{"Local":64},"ty":{"Deduplicated":639}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":18},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2475,"kind":{"StorageDead":65},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2476,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2477,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":639}},{"Use":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":639}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2564,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":135,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2479,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2480,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2481,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2482,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":6310}},{"Ref":{"place":{"kind":{"Local":66},"ty":{"Deduplicated":639}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2483,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":6309}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":69},"ty":{"Deduplicated":6310}},"Deref"]},"ty":{"Deduplicated":639}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2484,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":62}],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[{"Deduplicated":2099}]}}},"args":[{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":6309}}}],"dest":{"kind":{"Local":67},"ty":{"Deduplicated":1603}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":18},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2485,"kind":{"StorageDead":68},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2490,"kind":{"Switch":{"Match":[{"kind":{"Local":67},"ty":{"Deduplicated":1603}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"id":2487,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":135,"col":13},"end":{"line":135,"col":19}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":8},"end":{"line":135,"col":9}},"generated_from_span":null},"id":2491,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":8},"end":{"line":135,"col":9}},"generated_from_span":null},"id":2492,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":67},"ty":{"Deduplicated":1603}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":8},"end":{"line":136,"col":40}},"generated_from_span":null},"id":2493,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":8},"end":{"line":136,"col":12}},"generated_from_span":null},"id":2494,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":8},"end":{"line":136,"col":12}},"generated_from_span":null},"id":2495,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":5465}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":31},"end":{"line":136,"col":39}},"generated_from_span":null},"id":2496,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":31},"end":{"line":136,"col":32}},"generated_from_span":null},"id":2497,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":31},"end":{"line":136,"col":32}},"generated_from_span":null},"id":2498,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":31},"end":{"line":136,"col":39}},"generated_from_span":null},"id":2499,"kind":{"Assign":[{"kind":{"Local":73},"ty":{"Deduplicated":490}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"Usize"},{"UInt":"U32"}]}},{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":390}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":38},"end":{"line":136,"col":39}},"generated_from_span":null},"id":2500,"kind":{"StorageDead":74},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":8},"end":{"line":136,"col":40}},"generated_from_span":null},"id":2501,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":258}},"generics":{"regions":[{"Body":64}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":5465}}},{"Move":{"kind":{"Local":73},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":71},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":39},"end":{"line":136,"col":40}},"generated_from_span":null},"id":2502,"kind":{"StorageDead":73},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":39},"end":{"line":136,"col":40}},"generated_from_span":null},"id":2503,"kind":{"StorageDead":72},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":136,"col":40},"end":{"line":136,"col":41}},"generated_from_span":null},"id":2504,"kind":{"StorageDead":71},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":17},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2505,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"id":2506,"kind":{"StorageLive":76},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":21},"end":{"line":138,"col":22}},"generated_from_span":null},"id":2507,"kind":{"StorageLive":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":21},"end":{"line":138,"col":22}},"generated_from_span":null},"id":2508,"kind":{"Assign":[{"kind":{"Local":77},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"id":3178,"kind":{"StorageLive":107},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"id":3179,"kind":{"Assign":[{"kind":{"Local":107},"ty":{"Deduplicated":8396}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8382}},"Deref"]},"ty":{"Deduplicated":8173}},{"Field":[{"Adt":[16,null]},0]}]},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"id":3180,"kind":{"StorageLive":108},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"id":3181,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":107},"ty":{"Deduplicated":8396}}},{"Copy":{"kind":{"Local":77},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":108},"ty":{"Deduplicated":8397}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":138,"col":12},"end":{"line":138,"col":23}},"generated_from_span":null},"id":2511,"kind":{"Assign":[{"kind":{"Local":76},"ty":{"Deduplicated":8141}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":108},"ty":{"Deduplicated":8397}},"Deref"]},"ty":{"Deduplicated":8141}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"id":2512,"kind":{"StorageLive":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":16},"end":{"line":139,"col":17}},"generated_from_span":null},"id":2513,"kind":{"StorageLive":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":16},"end":{"line":139,"col":17}},"generated_from_span":null},"id":2514,"kind":{"Assign":[{"kind":{"Local":79},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"id":3182,"kind":{"StorageLive":109},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"id":3183,"kind":{"Assign":[{"kind":{"Local":109},"ty":{"Deduplicated":8395}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":8390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"id":3184,"kind":{"StorageLive":110},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"id":3185,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":109},"ty":{"Deduplicated":8395}}},{"Copy":{"kind":{"Local":79},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":110},"ty":{"Deduplicated":6768}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":139,"col":12},"end":{"line":139,"col":18}},"generated_from_span":null},"id":2517,"kind":{"Assign":[{"kind":{"Local":78},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":110},"ty":{"Deduplicated":6768}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2518,"kind":{"StorageLive":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":24}},"generated_from_span":null},"id":2519,"kind":{"StorageLive":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":24}},"generated_from_span":null},"id":2520,"kind":{"Assign":[{"kind":{"Local":82},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Global":{"id":22,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":24}},"generated_from_span":null},"id":2522,"kind":{"Assign":[{"kind":{"Local":81},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":82},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2523,"kind":{"StorageLive":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"id":2524,"kind":{"StorageLive":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":31},"end":{"line":140,"col":32}},"generated_from_span":null},"id":2525,"kind":{"Assign":[{"kind":{"Local":84},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"id":3186,"kind":{"StorageLive":111},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"id":3187,"kind":{"Assign":[{"kind":{"Local":111},"ty":{"Deduplicated":8395}},{"Ref":{"place":{"kind":{"Local":11},"ty":{"Deduplicated":8390}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"id":3188,"kind":{"StorageLive":112},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"id":3189,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":490}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":111},"ty":{"Deduplicated":8395}}},{"Copy":{"kind":{"Local":84},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":112},"ty":{"Deduplicated":6768}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":27},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2528,"kind":{"Assign":[{"kind":{"Local":83},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":112},"ty":{"Deduplicated":6768}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2529,"kind":{"Assign":[{"kind":{"Local":85},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":81},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":83},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":12},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2531,"kind":{"Assign":[{"kind":{"Local":80},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":85},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":32},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2532,"kind":{"StorageDead":83},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":140,"col":32},"end":{"line":140,"col":33}},"generated_from_span":null},"id":2533,"kind":{"StorageDead":81},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":141,"col":12},"end":{"line":141,"col":19}},"generated_from_span":null},"id":2534,"kind":{"StorageLive":86},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":141,"col":12},"end":{"line":141,"col":19}},"generated_from_span":null},"id":2535,"kind":{"Assign":[{"kind":{"Local":86},"ty":{"Deduplicated":5466}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":142,"col":12},"end":{"line":142,"col":17}},"generated_from_span":null},"id":2536,"kind":{"StorageLive":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":142,"col":12},"end":{"line":142,"col":17}},"generated_from_span":null},"id":2537,"kind":{"StorageLive":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":142,"col":12},"end":{"line":142,"col":17}},"generated_from_span":null},"id":2538,"kind":{"Assign":[{"kind":{"Local":88},"ty":{"Deduplicated":5467}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":142,"col":12},"end":{"line":142,"col":17}},"generated_from_span":null},"id":2539,"kind":{"Assign":[{"kind":{"Local":87},"ty":{"Deduplicated":2665}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":88},"ty":{"Deduplicated":5467}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":17},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2540,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":260}},"generics":{"regions":[{"Body":83},{"Body":84}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":76},"ty":{"Deduplicated":8141}}},{"Move":{"kind":{"Local":78},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":80},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":86},"ty":{"Deduplicated":5466}}},{"Move":{"kind":{"Local":87},"ty":{"Deduplicated":2665}}}],"dest":{"kind":{"Local":75},"ty":{"Deduplicated":8141}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2541,"kind":{"StorageDead":87},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2542,"kind":{"StorageDead":86},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2543,"kind":{"StorageDead":80},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2544,"kind":{"StorageDead":78},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2545,"kind":{"StorageDead":76},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":12},"end":{"line":137,"col":13}},"generated_from_span":null},"id":2546,"kind":{"StorageLive":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":12},"end":{"line":137,"col":13}},"generated_from_span":null},"id":2547,"kind":{"Assign":[{"kind":{"Local":89},"ty":{"Deduplicated":390}},{"Use":[{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":3190,"kind":{"StorageLive":113},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":3191,"kind":{"Assign":[{"kind":{"Local":113},"ty":{"Deduplicated":8398}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":8142}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":3192,"kind":{"StorageLive":114},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":3193,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":113},"ty":{"Deduplicated":8398}}},{"Copy":{"kind":{"Local":89},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":114},"ty":{"Deduplicated":8399}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":137,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2550,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":114},"ty":{"Deduplicated":8399}},"Deref"]},"ty":{"Deduplicated":8141}},{"Use":[{"Move":{"kind":{"Local":75},"ty":{"Deduplicated":8141}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":8},"end":{"line":143,"col":9}},"generated_from_span":null},"id":2551,"kind":{"StorageDead":75},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":9},"end":{"line":143,"col":10}},"generated_from_span":null},"id":2552,"kind":{"StorageDead":89},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":9},"end":{"line":143,"col":10}},"generated_from_span":null},"id":2553,"kind":{"StorageDead":88},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":9},"end":{"line":143,"col":10}},"generated_from_span":null},"id":2554,"kind":{"StorageDead":84},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":9},"end":{"line":143,"col":10}},"generated_from_span":null},"id":2555,"kind":{"StorageDead":79},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":143,"col":9},"end":{"line":143,"col":10}},"generated_from_span":null},"id":2556,"kind":{"StorageDead":77},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2558,"kind":{"StorageDead":70},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2559,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2560,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":135,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2563,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2566,"kind":{"StorageDead":69},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2567,"kind":{"StorageDead":67},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2569,"kind":{"StorageDead":66},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":144,"col":4},"end":{"line":144,"col":5}},"generated_from_span":null},"id":2570,"kind":{"StorageDead":64},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":146,"col":8},"end":{"line":146,"col":23}},"generated_from_span":null},"id":2572,"kind":{"StorageLive":90},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":146,"col":26},"end":{"line":146,"col":30}},"generated_from_span":null},"id":2573,"kind":{"StorageLive":91},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":146,"col":26},"end":{"line":146,"col":30}},"generated_from_span":null},"id":2574,"kind":{"Assign":[{"kind":{"Local":91},"ty":{"Deduplicated":6311}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":146,"col":26},"end":{"line":146,"col":38}},"generated_from_span":null},"id":2575,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":66}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":91},"ty":{"Deduplicated":6311}}}],"dest":{"kind":{"Local":90},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":146,"col":37},"end":{"line":146,"col":38}},"generated_from_span":null},"id":2576,"kind":{"StorageDead":91},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":147,"col":4},"end":{"line":147,"col":43}},"generated_from_span":null},"id":2577,"kind":{"StorageLive":92},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":147,"col":4},"end":{"line":147,"col":15}},"generated_from_span":null},"id":2578,"kind":{"StorageLive":93},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":147,"col":4},"end":{"line":147,"col":15}},"generated_from_span":null},"id":2579,"kind":{"Assign":[{"kind":{"Local":93},"ty":{"Deduplicated":658}},{"Ref":{"place":{"kind":{"Local":90},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":147,"col":4},"end":{"line":147,"col":43}},"generated_from_span":null},"id":2580,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":8}},"generics":{"regions":[{"Body":68}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":93},"ty":{"Deduplicated":658}}},{"Copy":{"kind":{"Global":{"id":24,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":92},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":147,"col":42},"end":{"line":147,"col":43}},"generated_from_span":null},"id":2581,"kind":{"StorageDead":93},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":147,"col":43},"end":{"line":147,"col":44}},"generated_from_span":null},"id":2582,"kind":{"StorageDead":92},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":4},"end":{"line":148,"col":65}},"generated_from_span":null},"id":2583,"kind":{"StorageLive":94},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":4},"end":{"line":148,"col":15}},"generated_from_span":null},"id":2584,"kind":{"StorageLive":95},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":4},"end":{"line":148,"col":15}},"generated_from_span":null},"id":2585,"kind":{"Assign":[{"kind":{"Local":95},"ty":{"Deduplicated":659}},{"Ref":{"place":{"kind":{"Local":90},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":37},"end":{"line":148,"col":64}},"generated_from_span":null},"id":2586,"kind":{"StorageLive":96},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":37},"end":{"line":148,"col":41}},"generated_from_span":null},"id":2587,"kind":{"StorageLive":97},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":37},"end":{"line":148,"col":41}},"generated_from_span":null},"id":2588,"kind":{"Assign":[{"kind":{"Local":97},"ty":{"Deduplicated":2476}},{"Ref":{"place":{"kind":{"Local":6},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":37},"end":{"line":148,"col":64}},"generated_from_span":null},"id":2589,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":40}},"generics":{"regions":[{"Body":71}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":97},"ty":{"Deduplicated":2476}}}],"dest":{"kind":{"Local":96},"ty":{"Deduplicated":490}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":63},"end":{"line":148,"col":64}},"generated_from_span":null},"id":2590,"kind":{"StorageDead":97},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":4},"end":{"line":148,"col":65}},"generated_from_span":null},"id":2591,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":9}},"generics":{"regions":[{"Body":73}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":95},"ty":{"Deduplicated":659}}},{"Move":{"kind":{"Local":96},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":94},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":64},"end":{"line":148,"col":65}},"generated_from_span":null},"id":2592,"kind":{"StorageDead":96},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":64},"end":{"line":148,"col":65}},"generated_from_span":null},"id":2593,"kind":{"StorageDead":95},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":148,"col":65},"end":{"line":148,"col":66}},"generated_from_span":null},"id":2594,"kind":{"StorageDead":94},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":8},"end":{"line":149,"col":10}},"generated_from_span":null},"id":2595,"kind":{"StorageLive":98},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":35},"end":{"line":149,"col":42}},"generated_from_span":null},"id":2596,"kind":{"StorageLive":99},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":35},"end":{"line":149,"col":42}},"generated_from_span":null},"id":2597,"kind":{"Assign":[{"kind":{"Local":99},"ty":{"Deduplicated":2477}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":2430}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":44},"end":{"line":149,"col":56}},"generated_from_span":null},"id":2598,"kind":{"StorageLive":100},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":44},"end":{"line":149,"col":56}},"generated_from_span":null},"id":2599,"kind":{"StorageLive":101},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":44},"end":{"line":149,"col":56}},"generated_from_span":null},"id":2600,"kind":{"Assign":[{"kind":{"Local":101},"ty":{"Deduplicated":6313}},{"Ref":{"place":{"kind":{"Local":90},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":44},"end":{"line":149,"col":56}},"generated_from_span":null},"id":2601,"kind":{"Assign":[{"kind":{"Local":100},"ty":{"Deduplicated":6312}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":101},"ty":{"Deduplicated":6313}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":58},"end":{"line":149,"col":62}},"generated_from_span":null},"id":2602,"kind":{"StorageLive":102},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":58},"end":{"line":149,"col":62}},"generated_from_span":null},"id":2603,"kind":{"StorageLive":103},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":58},"end":{"line":149,"col":62}},"generated_from_span":null},"id":2604,"kind":{"Assign":[{"kind":{"Local":103},"ty":{"Deduplicated":8394}},{"Ref":{"place":{"kind":{"Local":8},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":58},"end":{"line":149,"col":62}},"generated_from_span":null},"id":2605,"kind":{"Assign":[{"kind":{"Local":102},"ty":{"Deduplicated":8393}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":103},"ty":{"Deduplicated":8394}},"Deref"]},"ty":{"Deduplicated":8142}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":13},"end":{"line":149,"col":63}},"generated_from_span":null},"id":2606,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":259}},"generics":{"regions":[{"Body":77},{"Body":78},{"Body":79}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":99},"ty":{"Deduplicated":2477}}},{"Move":{"kind":{"Local":100},"ty":{"Deduplicated":6312}}},{"Move":{"kind":{"Local":102},"ty":{"Deduplicated":8393}}}],"dest":{"kind":{"Local":98},"ty":{"Deduplicated":8141}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":62},"end":{"line":149,"col":63}},"generated_from_span":null},"id":2607,"kind":{"StorageDead":102},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":62},"end":{"line":149,"col":63}},"generated_from_span":null},"id":2608,"kind":{"StorageDead":100},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":62},"end":{"line":149,"col":63}},"generated_from_span":null},"id":2609,"kind":{"StorageDead":99},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":63},"end":{"line":149,"col":64}},"generated_from_span":null},"id":2610,"kind":{"StorageDead":103},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":149,"col":63},"end":{"line":149,"col":64}},"generated_from_span":null},"id":2611,"kind":{"StorageDead":101},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":150,"col":11},"end":{"line":150,"col":13}},"generated_from_span":null},"id":2612,"kind":{"StorageLive":104},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":150,"col":11},"end":{"line":150,"col":13}},"generated_from_span":null},"id":2613,"kind":{"Assign":[{"kind":{"Local":104},"ty":{"Deduplicated":8141}},{"Use":[{"Copy":{"kind":{"Local":98},"ty":{"Deduplicated":8141}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":150,"col":4},"end":{"line":150,"col":14}},"generated_from_span":null},"id":2614,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8389}},{"Aggregate":[{"Adt":[{"id":{"Adt":49},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":104},"ty":{"Deduplicated":8141}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":150,"col":13},"end":{"line":150,"col":14}},"generated_from_span":null},"id":2615,"kind":{"StorageDead":104},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2616,"kind":{"StorageDead":98},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2617,"kind":{"Drop":[{"kind":{"Local":90},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":80}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2618,"kind":{"StorageDead":90},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2619,"kind":{"StorageDead":11},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2620,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2621,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2622,"kind":{"Drop":[{"kind":{"Local":6},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":85}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2623,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":0},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2624,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":151,"col":1},"end":{"line":151,"col":1}},"generated_from_span":null},"id":2625,"kind":"Return","comments_before":[]}]},"comments":[[112,["Aeneas-compat: plain cast for const-generic params (Result plumbing is","untranslatable-clean; every FIPS 205 parameter is <= 63, cast lossless)."]],[122,["Aeneas-compat: index loop with value reads (iterator adapters and the","&u32 Sub instance are untranslatable); same first-2N iteration space."]]]}}},{"def_id":185,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["XmssSig",0]},{"Impl":{"Trait":21}},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":2,"beg":{"line":91,"col":0},"end":{"line":94,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct XmssSig {\n pub(crate) sig_wots: WotsSig,\n pub(crate) auth: [[u8; N]; HP],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8404,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8164},"Mut"]}]}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8164}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8405,{"Ref":[{"Body":1},{"Deduplicated":8164},"Mut"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8406,{"Ref":[{"Body":2},{"Deduplicated":8164},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2626,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2627,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2628,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2629,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8406}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8405}},"Deref"]},"ty":{"Deduplicated":8164}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2630,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":263}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8406}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2631,"kind":{"Drop":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8405}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},0]}]},"ty":{"Deduplicated":8143}},{"kind":{"Fun":{"Regular":254}},"generics":{"regions":[{"Body":6}],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"Precise"]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2632,"kind":"Return","comments_before":[]}]},"comments":[]}}},null,{"def_id":187,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]},{"Ident":["eq",0]}],"span":{"data":{"file_id":27,"beg":{"line":255,"col":4},"end":{"line":255,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Tests for `self` and `other` values to be equal, and is used by `==`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"cmp_partialeq_eq"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8326},{"HashConsedValue":[8407,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":8145},"Shared"]}]}],"output":{"Deduplicated":403}},"src":{"TraitDecl":{"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":189,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":23}},{"Ident":["eq",0]}],"span":{"data":{"file_id":27,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8408,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":293},"Shared"]}]},{"HashConsedValue":[8409,{"Ref":[{"Var":{"Free":1}},{"Deduplicated":293},"Shared"]}]}],"output":{"Deduplicated":403}},"src":{"TraitImpl":{"impl_ref":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":293},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":191,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":38}},{"Ident":["drop",0]}],"span":{"data":{"file_id":2,"beg":{"line":59,"col":25},"end":{"line":59,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8370}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8152}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":59,"col":25},"end":{"line":59,"col":38}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":59,"col":38},"end":{"line":59,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":59,"col":25},"end":{"line":59,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":8371}},{"index":2,"name":"key","span":{"data":{"file_id":2,"beg":{"line":61,"col":15},"end":{"line":61,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[8410,{"Ref":[{"Body":3},{"Deduplicated":8133},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":61,"col":15},"end":{"line":61,"col":18}},"generated_from_span":null},"ty":{"HashConsedValue":[8411,{"Ref":[{"Body":4},{"Deduplicated":8133},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2633,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":61,"col":15},"end":{"line":61,"col":18}},"generated_from_span":null},"id":2634,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":61,"col":15},"end":{"line":61,"col":18}},"generated_from_span":null},"id":2635,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8371}},"Deref"]},"ty":{"Deduplicated":8152}},{"Field":[{"Adt":[6,null]},0]}]},"ty":{"Deduplicated":8133}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":61,"col":15},"end":{"line":61,"col":18}},"generated_from_span":null},"id":2636,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":61,"col":15},"end":{"line":61,"col":18}},"generated_from_span":null},"id":2637,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8411}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8410}},"Deref"]},"ty":{"Deduplicated":8133}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":59,"col":25},"end":{"line":59,"col":38}},"generated_from_span":null},"id":2638,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8133}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8412,{"kind":{"TraitImpl":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5699}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8133}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8411}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":59,"col":37},"end":{"line":59,"col":38}},"generated_from_span":null},"id":2639,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":59,"col":37},"end":{"line":59,"col":38}},"generated_from_span":null},"id":2640,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":59,"col":38},"end":{"line":59,"col":38}},"generated_from_span":null},"id":2641,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":192,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["drop",0]},{"Ident":["Drop",0]},{"Ident":["drop",0]}],"span":{"data":{"file_id":63,"beg":{"line":243,"col":4},"end":{"line":243,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Executes the destructor for this type."},{"DocComment":""},{"DocComment":" This method is called implicitly when the value goes out of scope,"},{"DocComment":" and cannot be called explicitly (this is compiler error [E0040])."},{"DocComment":" However, the [`mem::drop`] function in the prelude can be"},{"DocComment":" used to call the argument's `Drop` implementation."},{"DocComment":""},{"DocComment":" When this method has been called, `self` has not yet been deallocated."},{"DocComment":" That only happens after the method is over."},{"DocComment":" If this wasn't the case, `self` would be a dangling reference."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" Implementations should generally avoid [`panic!`]ing, because `drop()` may itself be called"},{"DocComment":" during unwinding due to a panic, and if the `drop()` panics in that situation (a “double"},{"DocComment":" panic”), this will likely abort the program. It is possible to check [`panicking()`] first,"},{"DocComment":" which may be desirable for a `Drop` implementation that is reporting a bug of the kind"},{"DocComment":" “you didn't finish using this before it was dropped”; but most types should simply clean up"},{"DocComment":" their owned allocations or other resources and return normally from `drop()`, regardless of"},{"DocComment":" what state they are in."},{"DocComment":""},{"DocComment":" Note that even if this panics, the value is considered to be dropped;"},{"DocComment":" you must not cause `drop` to be called again. This is normally automatically"},{"DocComment":" handled by the compiler, but when using unsafe code, can sometimes occur"},{"DocComment":" unintentionally, particularly when using [`ptr::drop_in_place`]."},{"DocComment":""},{"DocComment":" [E0040]: ../../error_codes/E0040.html"},{"DocComment":" [`panic!`]: crate::panic!"},{"DocComment":" [`panicking()`]: ../../std/thread/fn.panicking.html"},{"DocComment":" [`mem::drop`]: drop"},{"DocComment":" [`ptr::drop_in_place`]: crate::ptr::drop_in_place"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"Deduplicated":416}},"src":{"TraitDecl":{"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":194,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Impl":{"Trait":39}},{"Ident":["zeroize_or_on_drop",0]}],"span":{"data":{"file_id":65,"beg":{"line":846,"col":8},"end":{"line":846,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":845,"col":12},"end":{"line":845,"col":19}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":39,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8175,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":195,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]},{"Ident":["into_iter",0]}],"span":{"data":{"file_id":19,"beg":{"line":312,"col":4},"end":{"line":312,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates an iterator from a value."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"into_iter"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Item"},{"index":2,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140}],"output":{"Deduplicated":8147}},"src":{"TraitDecl":{"trait_ref":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":196,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]},{"Ident":["call_mut",0]}],"span":{"data":{"file_id":38,"beg":{"line":166,"col":4},"end":{"line":166,"col":74}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Clause0_Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":8268},{"Deduplicated":8145}],"output":{"Deduplicated":8147}},"src":{"TraitDecl":{"trait_ref":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":197,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]},{"Ident":["call_once",0]}],"span":{"data":{"file_id":38,"beg":{"line":250,"col":4},"end":{"line":250,"col":70}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":8140},{"Deduplicated":8145}],"output":{"Deduplicated":8147}},"src":{"TraitDecl":{"trait_ref":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":198,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]},{"Ident":["from_iter",0]}],"span":{"data":{"file_id":19,"beg":{"line":152,"col":4},"end":{"line":152,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Creates a value from an iterator."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_iter_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"T"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":19,"beg":{"line":152,"col":20},"end":{"line":152,"col":42}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8147},{"Deduplicated":8145},{"HashConsedValue":[8413,{"TypeVar":{"Free":3}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8147}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":199,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["from_output",0]}],"span":{"data":{"file_id":54,"beg":{"line":192,"col":4},"end":{"line":192,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Constructs the type from its `Output` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method"},{"DocComment":" such that applying the `?` operator will get back the original value:"},{"DocComment":" `Try::from_output(x).branch() --> ControlFlow::Continue(x)`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::Try;"},{"DocComment":""},{"DocComment":" assert_eq!( as Try>::from_output(3), Ok(3));"},{"DocComment":" assert_eq!( as Try>::from_output(4), Some(4));"},{"DocComment":" assert_eq!("},{"DocComment":" as Try>::from_output(5),"},{"DocComment":" std::ops::ControlFlow::Continue(5),"},{"DocComment":" );"},{"DocComment":""},{"DocComment":" # fn make_question_mark_work() -> Option<()> {"},{"DocComment":" assert_eq!(Option::from_output(4)?, 4);"},{"DocComment":" # None }"},{"DocComment":" # make_question_mark_work();"},{"DocComment":""},{"DocComment":" // This is used, for example, on the accumulator in `try_fold`:"},{"DocComment":" let r = std::iter::empty().try_fold(4, |_, ()| -> Option<_> { unreachable!() });"},{"DocComment":" assert_eq!(r, Some(4));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_output"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8415,{"TraitType":[{"HashConsedValue":[8414,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]},0,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":200,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]},{"Ident":["branch",0]}],"span":{"data":{"file_id":54,"beg":{"line":219,"col":4},"end":{"line":219,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used in `?` to decide whether the operator should produce a value"},{"DocComment":" (because this returned [`ControlFlow::Continue`])"},{"DocComment":" or propagate a value back to the caller"},{"DocComment":" (because this returned [`ControlFlow::Break`])."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, Try};"},{"DocComment":""},{"DocComment":" assert_eq!(Ok::<_, String>(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(Err::(3).branch(), ControlFlow::Break(Err(3)));"},{"DocComment":""},{"DocComment":" assert_eq!(Some(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(None::.branch(), ControlFlow::Break(None));"},{"DocComment":""},{"DocComment":" assert_eq!(ControlFlow::::Continue(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::Break(3).branch(),"},{"DocComment":" ControlFlow::Break(ControlFlow::Break(3)),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"branch"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140}],"output":{"HashConsedValue":[8417,{"Adt":{"id":{"Adt":57},"generics":{"regions":[],"types":[{"HashConsedValue":[8416,{"TraitType":[{"Deduplicated":8414},1,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]},{"Deduplicated":8415}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":1},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":201,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]},{"Ident":["extend",0]}],"span":{"data":{"file_id":19,"beg":{"line":416,"col":4},"end":{"line":416,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Extends a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" As this is the only required method for this trait, the [trait-level] docs"},{"DocComment":" contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: Extend"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"abc\");"},{"DocComment":""},{"DocComment":" message.extend(['d', 'e', 'f'].iter());"},{"DocComment":""},{"DocComment":" assert_eq!(\"abcdef\", &message);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"T"},{"index":3,"name":"Clause1_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":17,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":19,"beg":{"line":416,"col":17},"end":{"line":416,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8147},{"Deduplicated":8145},{"Deduplicated":8413}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268},{"Deduplicated":8147}],"output":{"Deduplicated":416}},"src":{"TraitDecl":{"trait_ref":{"id":17,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":205,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]},{"Ident":["next_back",0]}],"span":{"data":{"file_id":55,"beg":{"line":96,"col":4},"end":{"line":96,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Removes and returns an element from the end of the iterator."},{"DocComment":""},{"DocComment":" Returns `None` when there are no more elements."},{"DocComment":""},{"DocComment":" The [trait-level] docs contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: DoubleEndedIterator"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Remarks"},{"DocComment":""},{"DocComment":" The elements yielded by `DoubleEndedIterator`'s methods may differ from"},{"DocComment":" the ones yielded by [`Iterator`]'s methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];"},{"DocComment":" let uniq_by_fst_comp = || {"},{"DocComment":" let mut seen = std::collections::HashSet::new();"},{"DocComment":" vec.iter().copied().filter(move |x| seen.insert(x.0))"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));"},{"DocComment":" assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(1, 'a'), (2, 'a')]"},{"DocComment":" );"},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(2, 'b'), (1, 'c')]"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Clause0_Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"Deduplicated":8197}},"src":{"TraitDecl":{"trait_ref":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,{"def_id":213,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]},{"Ident":["cmp",0]}],"span":{"data":{"file_id":27,"beg":{"line":1000,"col":4},"end":{"line":1000,"col":44}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This method returns an [`Ordering`] between `self` and `other`."},{"DocComment":""},{"DocComment":" By convention, `self.cmp(&other)` returns the ordering matching the expression"},{"DocComment":" `self other` if true."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(5.cmp(&10), Ordering::Less);"},{"DocComment":" assert_eq!(10.cmp(&5), Ordering::Greater);"},{"DocComment":" assert_eq!(5.cmp(&5), Ordering::Equal);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"ord_cmp_method"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8326},{"Deduplicated":8373}],"output":{"HashConsedValue":[4392,{"Adt":{"id":{"Adt":43},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,{"def_id":217,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]},{"Ident":["sum",0]}],"span":{"data":{"file_id":62,"beg":{"line":22,"col":4},"end":{"line":22,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by \"summing up\""},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":62,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8147},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8147}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":218,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]},{"Ident":["product",0]}],"span":{"data":{"file_id":62,"beg":{"line":44,"col":4},"end":{"line":44,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by multiplying"},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"},{"index":2,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":62,"beg":{"line":44,"col":18},"end":{"line":44,"col":36}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8147},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8147}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":219,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":27,"beg":{"line":1395,"col":4},"end":{"line":1395,"col":59}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" This method returns an ordering between `self` and `other` values if one exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&2.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Less));"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Equal));"},{"DocComment":""},{"DocComment":" let result = 2.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Greater));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When comparison is impossible:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let result = f64::NAN.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, None);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"cmp_partialord_cmp"},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8326},{"Deduplicated":8407}],"output":{"HashConsedValue":[4690,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":4392}],"const_generics":[],"trait_refs":[]}}}]}},"src":{"TraitDecl":{"trait_ref":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,null,{"def_id":229,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":26}},{"Ident":["clone",0]}],"span":{"data":{"file_id":36,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8374}],"output":{"Deduplicated":390}},"src":{"TraitImpl":{"impl_ref":{"id":26,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":230,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":27,"beg":{"line":1999,"col":16},"end":{"line":1999,"col":71}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8374},{"Deduplicated":8375}],"output":{"Deduplicated":4690}},"src":{"TraitImpl":{"impl_ref":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,{"def_id":239,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]},{"Ident":["from",0]}],"span":{"data":{"file_id":25,"beg":{"line":592,"col":4},"end":{"line":592,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Converts to this type from the input type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_fn"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8145}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":240,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":29}},{"Ident":["clone",0]}],"span":{"data":{"file_id":36,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8408}],"output":{"Deduplicated":293}},"src":{"TraitImpl":{"impl_ref":{"id":29,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":242,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}],"span":{"data":{"file_id":12,"beg":{"line":51,"col":8},"end":{"line":51,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The largest value that can be represented by this integer type"},{"DocComment":"(232 − 1)."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"assert_eq!(u32::MAX, 4294967295);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":11,"body":"Opaque"},{"def_id":243,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":33}},{"Ident":["clone",0]}],"span":{"data":{"file_id":36,"beg":{"line":698,"col":20},"end":{"line":698,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8376}],"output":{"Deduplicated":490}},"src":{"TraitImpl":{"impl_ref":{"id":33,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":244,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}},{"Ident":["partial_cmp",0]}],"span":{"data":{"file_id":27,"beg":{"line":1999,"col":16},"end":{"line":1999,"col":71}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8376},{"Deduplicated":8377}],"output":{"Deduplicated":4690}},"src":{"TraitImpl":{"impl_ref":{"id":34,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,null,null,null,null,null,null,{"def_id":253,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":48}},{"Ident":["drop",0]}],"span":{"data":{"file_id":2,"beg":{"line":65,"col":32},"end":{"line":65,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8378}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":48,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8163}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":65,"col":32},"end":{"line":65,"col":45}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":65,"col":45},"end":{"line":65,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":65,"col":32},"end":{"line":65,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":8379}},{"index":2,"name":"tree","span":{"data":{"file_id":2,"beg":{"line":67,"col":15},"end":{"line":67,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8418,{"Ref":[{"Body":3},{"Deduplicated":8142},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":67,"col":15},"end":{"line":67,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8419,{"Ref":[{"Body":4},{"Deduplicated":8142},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2642,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":15},"end":{"line":67,"col":19}},"generated_from_span":null},"id":2643,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":15},"end":{"line":67,"col":19}},"generated_from_span":null},"id":2644,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8418}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8379}},"Deref"]},"ty":{"Deduplicated":8163}},{"Field":[{"Adt":[7,null]},0]}]},"ty":{"Deduplicated":8142}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":15},"end":{"line":67,"col":19}},"generated_from_span":null},"id":2645,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":67,"col":15},"end":{"line":67,"col":19}},"generated_from_span":null},"id":2646,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8419}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8418}},"Deref"]},"ty":{"Deduplicated":8142}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":32},"end":{"line":65,"col":45}},"generated_from_span":null},"id":2647,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8142}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8421,{"kind":{"TraitImpl":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8420,{"kind":{"TraitImpl":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5699}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8141}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8142}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8419}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":44},"end":{"line":65,"col":45}},"generated_from_span":null},"id":2648,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":44},"end":{"line":65,"col":45}},"generated_from_span":null},"id":2649,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":65,"col":45},"end":{"line":65,"col":45}},"generated_from_span":null},"id":2650,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":254,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsSig",0]},{"Impl":{"Trait":36}},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":2,"beg":{"line":80,"col":0},"end":{"line":82,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct WotsSig {\n pub(crate) data: [[u8; N]; LEN],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8422,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8173},"Mut"]}]}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":36,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8423,{"Ref":[{"Body":1},{"Deduplicated":8173},"Mut"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8424,{"Ref":[{"Body":2},{"Deduplicated":8173},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2651,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2652,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2653,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2654,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8424}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8423}},"Deref"]},"ty":{"Deduplicated":8173}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2655,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":274}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8424}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":2656,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":255,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_HASH",0]}],"span":{"data":{"file_id":2,"beg":{"line":104,"col":0},"end":{"line":104,"col":36}},"generated_from_span":null},"source_text":"pub(crate) const WOTS_HASH: u32 = 0;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":12,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":104,"col":0},"end":{"line":104,"col":36}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":104,"col":28},"end":{"line":104,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":104,"col":0},"end":{"line":104,"col":36}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":104,"col":34},"end":{"line":104,"col":35}},"generated_from_span":null},"id":2657,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":104,"col":0},"end":{"line":104,"col":36}},"generated_from_span":null},"id":2658,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":256,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":49}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":7,"beg":{"line":402,"col":4},"end":{"line":402,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":399,"col":9},"end":{"line":399,"col":28}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8425,{"Ref":[{"Var":{"Free":0}},{"Deduplicated":8146},"Mut"]}]},{"Deduplicated":8145}],"output":{"Deduplicated":8331}},"src":{"TraitImpl":{"impl_ref":{"id":49,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8178,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":257,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Ident":["to_byte",0]}],"span":{"data":{"file_id":11,"beg":{"line":38,"col":0},"end":{"line":60,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn to_byte(x: u32, n: u32) -> [u8; ((crate::LEN2 * crate::LGW + 7) / 8) as usize] {\n let mut s = [0u8; ((crate::LEN2 * crate::LGW + 7) / 8) as usize]; // Size fixed across all profiles (2)\n debug_assert_eq!(n, ((crate::LEN2 * crate::LGW + 7) / 8)); // just in case life changes\n debug_assert_eq!(n, 2); // optimize: this resolves into a two-byte (be) write!\n\n // 1: total ← x\n let mut total = x;\n\n // 2: for i from 0 to n − 1 do\n for i in 0..n {\n //\n // 3: S[n − 1 − i] ← total mod 256 ▷ Least significant 8 bits of total\n s[(n - 1 - i) as usize] = total.to_le_bytes()[0];\n\n // 4: total ← total ≫ 8\n total >>= 8;\n\n // 5: end for\n }\n\n // 6: return S\n s\n}","attr_info":{"attributes":[{"DocComment":" Algorithm 3: `toByte(x, n)` on page 15."},{"DocComment":" Converts an integer to a byte string."},{"DocComment":""},{"DocComment":" Input: Integer `x`, string length `n`.
"},{"DocComment":" Output: Byte string of length `n` containing binary representation of `x` in big-endian byte-order."}],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":490},{"Deduplicated":490}],"output":{"Deduplicated":6301}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":38,"col":0},"end":{"line":60,"col":1}},"generated_from_span":null},"bound_body_regions":44,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":38,"col":41},"end":{"line":38,"col":92}},"generated_from_span":null},"ty":{"Deduplicated":6301}},{"index":1,"name":"x","span":{"data":{"file_id":11,"beg":{"line":38,"col":22},"end":{"line":38,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":2,"name":"n","span":{"data":{"file_id":11,"beg":{"line":38,"col":30},"end":{"line":38,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":"s","span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"ty":{"Deduplicated":6301}},{"index":4,"name":null,"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":5,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[6618,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[6616,{"Ref":[{"Body":3},{"Deduplicated":490},"Shared"]}]},{"HashConsedValue":[6617,{"Ref":[{"Body":4},{"Deduplicated":490},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":6,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[6619,{"Ref":[{"Body":5},{"Deduplicated":490},"Shared"]}]}},{"index":7,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[6620,{"Ref":[{"Body":6},{"Deduplicated":490},"Shared"]}]}},{"index":8,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":9,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":10,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":11,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":12,"name":"left_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[6621,{"Ref":[{"Body":7},{"Deduplicated":490},"Shared"]}]}},{"index":13,"name":"right_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[6622,{"Ref":[{"Body":8},{"Deduplicated":490},"Shared"]}]}},{"index":14,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":15,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":16,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":17,"name":"kind","span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":18,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":19,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[6623,{"Ref":[{"Body":9},{"Deduplicated":490},"Shared"]}]}},{"index":20,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[6624,{"Ref":[{"Body":10},{"Deduplicated":490},"Shared"]}]}},{"index":21,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[6625,{"Ref":[{"Body":11},{"Deduplicated":490},"Shared"]}]}},{"index":22,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[6626,{"Ref":[{"Body":12},{"Deduplicated":490},"Shared"]}]}},{"index":23,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"ty":{"HashConsedValue":[6631,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[6630,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":15}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":24,"name":null,"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":25,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"ty":{"HashConsedValue":[6634,{"Adt":{"id":"Tuple","generics":{"regions":[],"types":[{"HashConsedValue":[6632,{"Ref":[{"Body":16},{"Deduplicated":490},"Shared"]}]},{"HashConsedValue":[6633,{"Ref":[{"Body":17},{"Deduplicated":490},"Shared"]}]}],"const_generics":[],"trait_refs":[]}}}]}},{"index":26,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[6635,{"Ref":[{"Body":18},{"Deduplicated":490},"Shared"]}]}},{"index":27,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[6636,{"Ref":[{"Body":19},{"Deduplicated":490},"Shared"]}]}},{"index":28,"name":"left_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"ty":{"HashConsedValue":[6637,{"Ref":[{"Body":20},{"Deduplicated":490},"Shared"]}]}},{"index":29,"name":"right_val","span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"ty":{"HashConsedValue":[6638,{"Ref":[{"Body":21},{"Deduplicated":490},"Shared"]}]}},{"index":30,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":31,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":32,"name":null,"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":33,"name":"kind","span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":34,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"ty":{"Deduplicated":1528}},{"index":35,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[6639,{"Ref":[{"Body":22},{"Deduplicated":490},"Shared"]}]}},{"index":36,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"ty":{"HashConsedValue":[6640,{"Ref":[{"Body":23},{"Deduplicated":490},"Shared"]}]}},{"index":37,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[6641,{"Ref":[{"Body":24},{"Deduplicated":490},"Shared"]}]}},{"index":38,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"ty":{"HashConsedValue":[6642,{"Ref":[{"Body":25},{"Deduplicated":490},"Shared"]}]}},{"index":39,"name":null,"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"ty":{"HashConsedValue":[6643,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":1743}],"const_generics":[],"trait_refs":[]}}}]}},{"index":40,"name":"total","span":{"data":{"file_id":11,"beg":{"line":44,"col":8},"end":{"line":44,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":41,"name":null,"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":42,"name":null,"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":43,"name":null,"span":{"data":{"file_id":11,"beg":{"line":47,"col":16},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":44,"name":"iter","span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":45,"name":null,"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2452}},{"index":46,"name":null,"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"HashConsedValue":[6645,{"Ref":[{"Body":28},{"Deduplicated":2449},"Mut"]}]}},{"index":47,"name":null,"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"ty":{"Deduplicated":2470}},{"index":48,"name":"i","span":{"data":{"file_id":11,"beg":{"line":47,"col":8},"end":{"line":47,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":49,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":293}},{"index":50,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":53}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":51,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":39}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":52,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":54},"end":{"line":50,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":53,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":390}},{"index":54,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":55,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":56,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":57,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":58,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":19},"end":{"line":50,"col":20}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":59,"name":null,"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":60,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[6646,{"Ref":[{"Body":30},{"Deduplicated":490},"Shared"]}]}},{"index":61,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[6647,{"Ref":[{"Body":31},{"Deduplicated":490},"Shared"]}]}},{"index":62,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7343,{"Ref":[{"Body":32},{"Deduplicated":490},"Shared"]}]}},{"index":63,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7346,{"Ref":[{"Body":35},{"Deduplicated":490},"Shared"]}]}},{"index":64,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7351,{"Ref":[{"Body":42},{"Deduplicated":490},"Shared"]}]}},{"index":65,"name":null,"span":{"data":{"file_id":11,"beg":{"line":41,"col":24},"end":{"line":41,"col":25}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":66,"name":null,"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"ty":{"HashConsedValue":[7352,{"Ref":[{"Body":43},{"Deduplicated":490},"Shared"]}]}},{"index":67,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":24},"end":{"line":40,"col":60}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":68,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":69,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":70,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":71,"name":null,"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":72,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7382,{"Ref":["Erased",{"Deduplicated":1268},"Shared"]}]}},{"index":73,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"Deduplicated":7363}},{"index":74,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7384,{"Ref":["Erased",{"Deduplicated":6301},"Mut"]}]}},{"index":75,"name":null,"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"ty":{"HashConsedValue":[7383,{"Ref":["Erased",{"Deduplicated":293},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":68}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2659,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2660,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2665,"kind":{"StorageLive":57},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2666,"kind":{"StorageLive":59},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2670,"kind":{"StorageLive":60},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2671,"kind":{"StorageLive":61},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":8},"end":{"line":39,"col":13}},"generated_from_span":null},"id":2672,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":39,"col":16},"end":{"line":39,"col":68}},"generated_from_span":null},"id":2673,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayRepeat"}},"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U8","0"]}}},"ty":{"Deduplicated":293}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":6301}}}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":2675,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":2676,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":["1: total ← x","2: for i from 0 to n − 1 do","","3: S[n − 1 − i] ← total mod 256 ▷ Least significant 8 bits of total","4: total ← total ≫ 8","5: end for","6: return S"]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":2754,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2678,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":2679,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":2680,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":6619}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2681,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"id":2682,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2683,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2684,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Panic"},{"Copy":{"kind":{"Global":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Global":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2686,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":10},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"id":2687,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"id":2689,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":54},"end":{"line":40,"col":55}},"generated_from_span":null},"id":2690,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2693,"kind":{"StorageLive":63},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2694,"kind":{"StorageLive":66},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2695,"kind":{"StorageLive":67},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2696,"kind":{"StorageLive":68},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2697,"kind":{"StorageLive":69},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2698,"kind":{"StorageLive":70},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2699,"kind":{"StorageLive":71},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2700,"kind":{"Assign":[{"kind":{"Local":71},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Mul":"Wrap"},{"Copy":{"kind":{"Global":{"id":23,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Global":{"id":21,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":26},"end":{"line":40,"col":50}},"generated_from_span":null},"id":2701,"kind":{"Assign":[{"kind":{"Local":70},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":71},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"id":2702,"kind":{"Assign":[{"kind":{"Local":69},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Wrap"},{"Copy":{"kind":{"Local":70},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","7"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":25},"end":{"line":40,"col":55}},"generated_from_span":null},"id":2703,"kind":{"Assign":[{"kind":{"Local":68},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":69},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":24},"end":{"line":40,"col":60}},"generated_from_span":null},"id":2704,"kind":{"Assign":[{"kind":{"Local":67},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Div":"Panic"},{"Move":{"kind":{"Local":68},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","8"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2705,"kind":{"Assign":[{"kind":{"Local":66},"ty":{"Deduplicated":7352}},{"Ref":{"place":{"kind":{"Local":67},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2706,"kind":{"Assign":[{"kind":{"Local":63},"ty":{"Deduplicated":7346}},{"Use":[{"Move":{"kind":{"Local":66},"ty":{"Deduplicated":7352}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":40,"col":59},"end":{"line":40,"col":60}},"generated_from_span":null},"id":2707,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2708,"kind":{"Assign":[{"kind":{"Local":61},"ty":{"Deduplicated":6647}},{"Use":[{"Move":{"kind":{"Local":63},"ty":{"Deduplicated":7346}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2709,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":6620}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":61},"ty":{"Deduplicated":6647}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2710,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":6618}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":6619}}},{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":6620}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2711,"kind":{"StorageDead":7},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2712,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":2713,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":2714,"kind":{"Assign":[{"kind":{"Local":12},"ty":{"Deduplicated":6621}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6618}},{"Field":[{"Tuple":2},0]}]},"ty":{"HashConsedValue":[8426,{"Ref":[{"Body":36},{"Deduplicated":490},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":2715,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":2716,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":6622}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6618}},{"Field":[{"Tuple":2},1]}]},"ty":{"HashConsedValue":[8427,{"Ref":[{"Body":37},{"Deduplicated":490},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2717,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":2718,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":2719,"kind":{"Assign":[{"kind":{"Local":15},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":6621}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":2720,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":2721,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":6622}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2722,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":403}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":2742,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":14},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":51,"col":113}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2724,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2725,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"id":2726,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":31},"end":{"line":47,"col":64}},"generated_from_span":null},"id":2727,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":1528}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":2729,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":2730,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":1528}},{"Use":[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":1528}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2731,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2732,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2733,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":6624}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":12},"ty":{"Deduplicated":6621}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2734,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":6623}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":20},"ty":{"Deduplicated":6624}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2735,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2736,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2737,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":6626}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":13},"ty":{"Deduplicated":6622}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2738,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":6625}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":22},"ty":{"Deduplicated":6626}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":2739,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":2740,"kind":{"Assign":[{"kind":{"Local":23},"ty":{"Deduplicated":6631}},{"Aggregate":[{"Adt":[{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[8428,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":39}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":2741,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["assert_failed",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2743,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2744,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":52,"col":16},"end":{"line":52,"col":17}},"generated_from_span":null},"id":2746,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":2747,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":2748,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":2749,"kind":{"StorageDead":5},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":321,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":2755,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":2758,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":2759,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"id":2817,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2760,"kind":{"StorageLive":62},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2761,"kind":{"StorageLive":64},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":41,"col":24},"end":{"line":41,"col":25}},"generated_from_span":null},"id":2762,"kind":{"StorageLive":65},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":41,"col":24},"end":{"line":41,"col":25}},"generated_from_span":null},"id":2763,"kind":{"Assign":[{"kind":{"Local":65},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2764,"kind":{"Assign":[{"kind":{"Local":64},"ty":{"Deduplicated":7351}},{"Ref":{"place":{"kind":{"Local":65},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2765,"kind":{"Assign":[{"kind":{"Local":62},"ty":{"Deduplicated":7343}},{"Use":[{"Move":{"kind":{"Local":64},"ty":{"Deduplicated":7351}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2767,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":2768,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":15},"end":{"line":44,"col":21}},"generated_from_span":null},"id":2769,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":6635}},{"Ref":{"place":{"kind":{"Local":2},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2770,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2771,"kind":{"Assign":[{"kind":{"Local":60},"ty":{"Deduplicated":6646}},{"Use":[{"Move":{"kind":{"Local":62},"ty":{"Deduplicated":7343}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":23},"end":{"line":44,"col":30}},"generated_from_span":null},"id":2772,"kind":{"Assign":[{"kind":{"Local":27},"ty":{"Deduplicated":6636}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":60},"ty":{"Deduplicated":6646}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":14},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2773,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":6634}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":26},"ty":{"Deduplicated":6635}}},{"Move":{"kind":{"Local":27},"ty":{"Deduplicated":6636}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2774,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":44,"col":30},"end":{"line":44,"col":31}},"generated_from_span":null},"id":2775,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":2776,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":13},"end":{"line":45,"col":21}},"generated_from_span":null},"id":2777,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":6637}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":6634}},{"Field":[{"Tuple":2},0]}]},"ty":{"HashConsedValue":[8429,{"Ref":[{"Body":33},{"Deduplicated":490},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":2778,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":45,"col":23},"end":{"line":45,"col":32}},"generated_from_span":null},"id":2779,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":6638}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":6634}},{"Field":[{"Tuple":2},1]}]},"ty":{"HashConsedValue":[8430,{"Ref":[{"Body":34},{"Deduplicated":490},"Shared"]}]}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2780,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":2781,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":21},"end":{"line":46,"col":30}},"generated_from_span":null},"id":2782,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":6637}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":2783,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":34},"end":{"line":46,"col":44}},"generated_from_span":null},"id":2784,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":6638}},"Deref"]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2785,"kind":{"Assign":[{"kind":{"Local":30},"ty":{"Deduplicated":403}},{"BinaryOp":["Eq",{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":2805,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":20},"end":{"line":46,"col":45}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":51,"col":113}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2787,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2788,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":24},"end":{"line":47,"col":28}},"generated_from_span":null},"id":2789,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":47,"col":31},"end":{"line":47,"col":64}},"generated_from_span":null},"id":2790,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":1528}},{"Aggregate":[{"Adt":[{"id":{"Adt":12},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":2792,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":53},"end":{"line":51,"col":57}},"generated_from_span":null},"id":2793,"kind":{"Assign":[{"kind":{"Local":34},"ty":{"Deduplicated":1528}},{"Use":[{"Move":{"kind":{"Local":33},"ty":{"Deduplicated":1528}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2794,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2795,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2796,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":6640}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":28},"ty":{"Deduplicated":6637}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":59},"end":{"line":51,"col":69}},"generated_from_span":null},"id":2797,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":6639}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":36},"ty":{"Deduplicated":6640}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2798,"kind":{"StorageLive":37},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2799,"kind":{"StorageLive":38},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2800,"kind":{"Assign":[{"kind":{"Local":38},"ty":{"Deduplicated":6642}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":29},"ty":{"Deduplicated":6638}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":71},"end":{"line":51,"col":82}},"generated_from_span":null},"id":2801,"kind":{"Assign":[{"kind":{"Local":37},"ty":{"Deduplicated":6641}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":38},"ty":{"Deduplicated":6642}},"Deref"]},"ty":{"Deduplicated":490}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":2802,"kind":{"StorageLive":39},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":84},"end":{"line":51,"col":112}},"generated_from_span":null},"id":2803,"kind":{"Assign":[{"kind":{"Local":39},"ty":{"Deduplicated":6643}},{"Aggregate":[{"Adt":[{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[8431,{"Adt":{"id":{"Adt":13},"generics":{"regions":[{"Body":38}],"types":[],"const_generics":[],"trait_refs":[]}}}]}],"const_generics":[],"trait_refs":[]}},0,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":51,"col":20},"end":{"line":51,"col":113}},"generated_from_span":null},"id":2804,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["assert_failed",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2806,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":46,"col":44},"end":{"line":46,"col":45}},"generated_from_span":null},"id":2807,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":52,"col":16},"end":{"line":52,"col":17}},"generated_from_span":null},"id":2809,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":2810,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":53,"col":12},"end":{"line":53,"col":13}},"generated_from_span":null},"id":2811,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":54,"col":8},"end":{"line":54,"col":9}},"generated_from_span":null},"id":2812,"kind":{"StorageDead":25},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":319,"col":11},"end":{"line":319,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":321,"col":8},"end":{"line":321,"col":9}},"generated_from_span":null},"id":2818,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":44,"col":8},"end":{"line":44,"col":17}},"generated_from_span":null},"id":2820,"kind":{"StorageLive":40},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":44,"col":20},"end":{"line":44,"col":21}},"generated_from_span":null},"id":2821,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2823,"kind":{"StorageLive":41},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2824,"kind":{"StorageLive":42},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":16},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2825,"kind":{"StorageLive":43},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":16},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2826,"kind":{"Assign":[{"kind":{"Local":43},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2827,"kind":{"Assign":[{"kind":{"Local":42},"ty":{"Deduplicated":2449}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","0"]}}},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":43},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":16},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2828,"kind":{"StorageDead":43},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2829,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":7637}]}}},"args":[{"Move":{"kind":{"Local":42},"ty":{"Deduplicated":2449}}}],"dest":{"kind":{"Local":41},"ty":{"Deduplicated":2449}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":16},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2830,"kind":{"StorageDead":42},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2831,"kind":{"StorageLive":44},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2832,"kind":{"Assign":[{"kind":{"Local":44},"ty":{"Deduplicated":2449}},{"Use":[{"Move":{"kind":{"Local":41},"ty":{"Deduplicated":2449}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2895,"kind":{"Loop":{"span":{"data":{"file_id":11,"beg":{"line":47,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2834,"kind":{"StorageLive":45},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2835,"kind":{"StorageLive":46},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2836,"kind":{"StorageLive":47},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2837,"kind":{"Assign":[{"kind":{"Local":47},"ty":{"Deduplicated":2470}},{"Ref":{"place":{"kind":{"Local":44},"ty":{"Deduplicated":2449}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2838,"kind":{"Assign":[{"kind":{"Local":46},"ty":{"Deduplicated":6645}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":47},"ty":{"Deduplicated":2470}},"Deref"]},"ty":{"Deduplicated":2449}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2839,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":41}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":2562}]}}},"args":[{"Move":{"kind":{"Local":46},"ty":{"Deduplicated":6645}}}],"dest":{"kind":{"Local":45},"ty":{"Deduplicated":2452}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":16},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2840,"kind":{"StorageDead":46},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2845,"kind":{"Switch":{"Match":[{"kind":{"Local":45},"ty":{"Deduplicated":2452}},[[[0],{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"id":2842,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":11,"beg":{"line":47,"col":13},"end":{"line":47,"col":17}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":8},"end":{"line":47,"col":9}},"generated_from_span":null},"id":2846,"kind":{"StorageLive":48},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":8},"end":{"line":47,"col":9}},"generated_from_span":null},"id":2847,"kind":{"Assign":[{"kind":{"Local":48},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":45},"ty":{"Deduplicated":2452}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"id":2848,"kind":{"StorageLive":49},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":53}},"generated_from_span":null},"id":2849,"kind":{"StorageLive":50},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":39}},"generated_from_span":null},"id":2850,"kind":{"StorageLive":51},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":39}},"generated_from_span":null},"id":2851,"kind":{"Assign":[{"kind":{"Local":51},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":53}},"generated_from_span":null},"id":2852,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":280}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":51},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":50},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":52},"end":{"line":50,"col":53}},"generated_from_span":null},"id":2853,"kind":{"StorageDead":51},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":54},"end":{"line":50,"col":55}},"generated_from_span":null},"id":2854,"kind":{"StorageLive":52},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":54},"end":{"line":50,"col":55}},"generated_from_span":null},"id":2855,"kind":{"Assign":[{"kind":{"Local":52},"ty":{"Deduplicated":390}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","0"]}}},"ty":{"Deduplicated":390}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3194,"kind":{"StorageLive":72},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3195,"kind":{"Assign":[{"kind":{"Local":72},"ty":{"Deduplicated":7382}},{"Ref":{"place":{"kind":{"Local":50},"ty":{"Deduplicated":1268}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3196,"kind":{"StorageLive":73},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3197,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Shared","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","4"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":72},"ty":{"Deduplicated":7382}}},{"Copy":{"kind":{"Local":52},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":73},"ty":{"Deduplicated":7363}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":34},"end":{"line":50,"col":56}},"generated_from_span":null},"id":2858,"kind":{"Assign":[{"kind":{"Local":49},"ty":{"Deduplicated":293}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":73},"ty":{"Deduplicated":7363}},"Deref"]},"ty":{"Deduplicated":293}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":30}},"generated_from_span":null},"id":2859,"kind":{"StorageLive":53},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":21}},"generated_from_span":null},"id":2860,"kind":{"StorageLive":54},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":16}},"generated_from_span":null},"id":2861,"kind":{"StorageLive":55},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":12}},"generated_from_span":null},"id":2862,"kind":{"StorageLive":56},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":12}},"generated_from_span":null},"id":2863,"kind":{"Assign":[{"kind":{"Local":56},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":16}},"generated_from_span":null},"id":2864,"kind":{"Assign":[{"kind":{"Local":57},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":56},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":11},"end":{"line":50,"col":16}},"generated_from_span":null},"id":2866,"kind":{"Assign":[{"kind":{"Local":55},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":57},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":15},"end":{"line":50,"col":16}},"generated_from_span":null},"id":2867,"kind":{"StorageDead":56},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":19},"end":{"line":50,"col":20}},"generated_from_span":null},"id":2868,"kind":{"StorageLive":58},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":19},"end":{"line":50,"col":20}},"generated_from_span":null},"id":2869,"kind":{"Assign":[{"kind":{"Local":58},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":48},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":21}},"generated_from_span":null},"id":2870,"kind":{"Assign":[{"kind":{"Local":59},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Sub":"Panic"},{"Copy":{"kind":{"Local":55},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":58},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":21}},"generated_from_span":null},"id":2872,"kind":{"Assign":[{"kind":{"Local":54},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":59},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":20},"end":{"line":50,"col":21}},"generated_from_span":null},"id":2873,"kind":{"StorageDead":58},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":20},"end":{"line":50,"col":21}},"generated_from_span":null},"id":2874,"kind":{"StorageDead":55},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":10},"end":{"line":50,"col":30}},"generated_from_span":null},"id":2875,"kind":{"Assign":[{"kind":{"Local":53},"ty":{"Deduplicated":390}},{"UnaryOp":[{"Cast":{"Scalar":[{"UInt":"U32"},{"UInt":"Usize"}]}},{"Move":{"kind":{"Local":54},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":29},"end":{"line":50,"col":30}},"generated_from_span":null},"id":2876,"kind":{"StorageDead":54},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":8},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3198,"kind":{"StorageLive":74},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":8},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3199,"kind":{"Assign":[{"kind":{"Local":74},"ty":{"Deduplicated":7384}},{"Ref":{"place":{"kind":{"Local":3},"ty":{"Deduplicated":6301}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":8},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3200,"kind":{"StorageLive":75},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":8},"end":{"line":50,"col":56}},"generated_from_span":null},"id":3201,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":{"Index":{"is_array":true,"mutability":"Mut","is_range":false}}}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Literal":{"Scalar":{"Unsigned":["Usize","2"]}}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":74},"ty":{"Deduplicated":7384}}},{"Copy":{"kind":{"Local":53},"ty":{"Deduplicated":390}}}],"dest":{"kind":{"Local":75},"ty":{"Deduplicated":7383}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":8},"end":{"line":50,"col":56}},"generated_from_span":null},"id":2879,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Local":75},"ty":{"Deduplicated":7383}},"Deref"]},"ty":{"Deduplicated":293}},{"Use":[{"Move":{"kind":{"Local":49},"ty":{"Deduplicated":293}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":55},"end":{"line":50,"col":56}},"generated_from_span":null},"id":2880,"kind":{"StorageDead":49},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":56},"end":{"line":50,"col":57}},"generated_from_span":null},"id":2881,"kind":{"StorageDead":53},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":56},"end":{"line":50,"col":57}},"generated_from_span":null},"id":2882,"kind":{"StorageDead":52},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":50,"col":56},"end":{"line":50,"col":57}},"generated_from_span":null},"id":2883,"kind":{"StorageDead":50},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":53,"col":8},"end":{"line":53,"col":19}},"generated_from_span":null},"id":2887,"kind":{"Assign":[{"kind":{"Local":40},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Shr":"Panic"},{"Copy":{"kind":{"Local":40},"ty":{"Deduplicated":490}}},{"Const":{"kind":{"Literal":{"Scalar":{"Signed":["I32","8"]}}},"ty":{"Deduplicated":2106}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2889,"kind":{"StorageDead":48},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2890,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2891,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":47,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2894,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2897,"kind":{"StorageDead":47},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2898,"kind":{"StorageDead":45},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2900,"kind":{"StorageDead":44},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":56,"col":4},"end":{"line":56,"col":5}},"generated_from_span":null},"id":2901,"kind":{"StorageDead":41},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":59,"col":4},"end":{"line":59,"col":5}},"generated_from_span":null},"id":2903,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":6301}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":6301}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":60,"col":0},"end":{"line":60,"col":1}},"generated_from_span":null},"id":2904,"kind":{"StorageDead":40},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":60,"col":0},"end":{"line":60,"col":1}},"generated_from_span":null},"id":2905,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":60,"col":1},"end":{"line":60,"col":1}},"generated_from_span":null},"id":2906,"kind":"Return","comments_before":[]}]},"comments":[[44,["1: total ← x"]],[47,["2: for i from 0 to n − 1 do"]],[50,["","3: S[n − 1 − i] ← total mod 256 ▷ Least significant 8 bits of total"]],[53,["4: total ← total ≫ 8"]],[56,["5: end for"]],[59,["6: return S"]]]}}},{"def_id":258,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_chain_address",0]}],"span":{"data":{"file_id":11,"beg":{"line":213,"col":4},"end":{"line":213,"col":85}},"generated_from_span":null},"source_text":"pub(crate) fn set_chain_address(&mut self, i: u32) { self.f6 = i.to_be_bytes(); }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":213,"col":4},"end":{"line":213,"col":85}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":213,"col":54},"end":{"line":213,"col":54}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":213,"col":36},"end":{"line":213,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"i","span":{"data":{"file_id":11,"beg":{"line":213,"col":47},"end":{"line":213,"col":48}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":213,"col":67},"end":{"line":213,"col":82}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":213,"col":67},"end":{"line":213,"col":68}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":2907,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":67},"end":{"line":213,"col":82}},"generated_from_span":null},"id":2908,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":67},"end":{"line":213,"col":68}},"generated_from_span":null},"id":2909,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":67},"end":{"line":213,"col":68}},"generated_from_span":null},"id":2910,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":67},"end":{"line":213,"col":82}},"generated_from_span":null},"id":2911,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":81},"end":{"line":213,"col":82}},"generated_from_span":null},"id":2912,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":57},"end":{"line":213,"col":82}},"generated_from_span":null},"id":2913,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},6]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":81},"end":{"line":213,"col":82}},"generated_from_span":null},"id":2914,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":55},"end":{"line":213,"col":85}},"generated_from_span":null},"id":2915,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":213,"col":85},"end":{"line":213,"col":85}},"generated_from_span":null},"id":2916,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":259,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["oracle",0]},{"Ident":["t_l",0]}],"span":{"data":{"file_id":0,"beg":{"line":60,"col":4},"end":{"line":64,"col":5}},"generated_from_span":null},"source_text":"pub(crate) fn t_l(\n pk_seed: &[u8], adrs: &Adrs, ml: &[[u8; N]; X],\n ) -> [u8; N] {\n crate::hashers::sha2_cat_1::t_l::(pk_seed, adrs, ml)\n }","attr_info":{"attributes":[],"inline":"Never","rename":null,"public":false},"is_local":true,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"},{"index":2,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"X","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8230},{"Deduplicated":8345},{"Deduplicated":8346}],"output":{"Deduplicated":8141}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":260,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["verify_mono",0]},{"Ident":["chain_free",0]}],"span":{"data":{"file_id":0,"beg":{"line":91,"col":0},"end":{"line":102,"col":1}},"generated_from_span":null},"source_text":"pub(crate) fn chain_free(\n cap_x: [u8; N], i: u32, s: u32, pk_seed: &[u8], adrs: &Adrs,\n) -> [u8; N] {\n debug_assert!(i + s < u32::MAX);\n let mut adrs = adrs.clone();\n let mut tmp = cap_x;\n for j in i..(i + s) {\n adrs.set_hash_address(j);\n tmp = oracle::f::(pk_seed, &adrs, &tmp);\n }\n tmp\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8133},{"Deduplicated":490},{"Deduplicated":490},{"Deduplicated":8230},{"Deduplicated":8345}],"output":{"Deduplicated":8133}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":0,"beg":{"line":91,"col":0},"end":{"line":102,"col":1}},"generated_from_span":null},"bound_body_regions":32,"locals":{"arg_count":5,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":0,"beg":{"line":93,"col":5},"end":{"line":93,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":8133}},{"index":1,"name":"cap_x","span":{"data":{"file_id":0,"beg":{"line":92,"col":4},"end":{"line":92,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":8133}},{"index":2,"name":"i","span":{"data":{"file_id":0,"beg":{"line":92,"col":20},"end":{"line":92,"col":21}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":"s","span":{"data":{"file_id":0,"beg":{"line":92,"col":28},"end":{"line":92,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":4,"name":"pk_seed","span":{"data":{"file_id":0,"beg":{"line":92,"col":36},"end":{"line":92,"col":43}},"generated_from_span":null},"ty":{"Deduplicated":406}},{"index":5,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":92,"col":52},"end":{"line":92,"col":56}},"generated_from_span":null},"ty":{"HashConsedValue":[6667,{"Ref":[{"Body":3},{"Deduplicated":508},"Shared"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":7,"name":null,"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":34}},"generated_from_span":null},"ty":{"Deduplicated":403}},{"index":8,"name":null,"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":9,"name":null,"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":10,"name":null,"span":{"data":{"file_id":0,"beg":{"line":94,"col":22},"end":{"line":94,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":11,"name":null,"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":12,"name":"adrs","span":{"data":{"file_id":0,"beg":{"line":95,"col":8},"end":{"line":95,"col":16}},"generated_from_span":null},"ty":{"Deduplicated":508}},{"index":13,"name":null,"span":{"data":{"file_id":0,"beg":{"line":95,"col":19},"end":{"line":95,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[6668,{"Ref":[{"Body":4},{"Deduplicated":508},"Shared"]}]}},{"index":14,"name":"tmp","span":{"data":{"file_id":0,"beg":{"line":96,"col":8},"end":{"line":96,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":8133}},{"index":15,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":16,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":17,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":18,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":16},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":19,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":17},"end":{"line":97,"col":18}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":20,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":21},"end":{"line":97,"col":22}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":21,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":16},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":22,"name":"iter","span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2449}},{"index":23,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"Deduplicated":2452}},{"index":24,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[6670,{"Ref":[{"Body":6},{"Deduplicated":2449},"Mut"]}]}},{"index":25,"name":null,"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[6671,{"Ref":[{"Body":7},{"Deduplicated":2449},"Mut"]}]}},{"index":26,"name":"j","span":{"data":{"file_id":0,"beg":{"line":97,"col":8},"end":{"line":97,"col":9}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":27,"name":null,"span":{"data":{"file_id":0,"beg":{"line":98,"col":8},"end":{"line":98,"col":32}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":28,"name":null,"span":{"data":{"file_id":0,"beg":{"line":98,"col":8},"end":{"line":98,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":5438}},{"index":29,"name":null,"span":{"data":{"file_id":0,"beg":{"line":98,"col":30},"end":{"line":98,"col":31}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":30,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":14},"end":{"line":99,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":8133}},{"index":31,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":29},"end":{"line":99,"col":36}},"generated_from_span":null},"ty":{"HashConsedValue":[6672,{"Ref":[{"Body":10},{"Deduplicated":294},"Shared"]}]}},{"index":32,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":38},"end":{"line":99,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[6673,{"Ref":[{"Body":11},{"Deduplicated":508},"Shared"]}]}},{"index":33,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":38},"end":{"line":99,"col":43}},"generated_from_span":null},"ty":{"HashConsedValue":[6674,{"Ref":[{"Body":12},{"Deduplicated":508},"Shared"]}]}},{"index":34,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"ty":{"Deduplicated":2650}},{"index":35,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[8432,{"Ref":[{"Body":15},{"Deduplicated":8133},"Shared"]}]}},{"index":36,"name":null,"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"ty":{"HashConsedValue":[8433,{"Ref":[{"Body":16},{"Deduplicated":8133},"Shared"]}]}}]},"body":{"span":{"data":{"file_id":16,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":16,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":2917,"kind":{"StorageLive":11},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":2918,"kind":{"StorageLive":21},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":2922,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"id":2923,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":403}},{"Use":[{"Const":{"kind":{"Literal":{"Bool":true}},"ty":{"Deduplicated":403}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":290,"col":37}},"generated_from_span":null},"id":2949,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":34}},"generated_from_span":null},"id":2925,"kind":{"StorageLive":7},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2926,"kind":{"StorageLive":8},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":19}},"generated_from_span":null},"id":2927,"kind":{"StorageLive":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":19}},"generated_from_span":null},"id":2928,"kind":{"Assign":[{"kind":{"Local":9},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":22},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2929,"kind":{"StorageLive":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":22},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2930,"kind":{"Assign":[{"kind":{"Local":10},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2931,"kind":{"Assign":[{"kind":{"Local":11},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":9},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":10},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2933,"kind":{"Assign":[{"kind":{"Local":8},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":11},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":22},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2934,"kind":{"StorageDead":10},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":22},"end":{"line":94,"col":23}},"generated_from_span":null},"id":2935,"kind":{"StorageDead":9},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":34}},"generated_from_span":null},"id":2936,"kind":{"Assign":[{"kind":{"Local":7},"ty":{"Deduplicated":403}},{"BinaryOp":["Lt",{"Move":{"kind":{"Local":8},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Global":{"id":11,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":34}},"generated_from_span":null},"id":2941,"kind":{"Switch":{"If":[{"Move":{"kind":{"Local":7},"ty":{"Deduplicated":403}}},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":18},"end":{"line":94,"col":34}},"generated_from_span":null},"statements":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":33},"end":{"line":94,"col":34}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":94,"col":33},"end":{"line":94,"col":34}},"generated_from_span":null},"id":2938,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":12},"end":{"line":290,"col":37}},"generated_from_span":null},"id":2940,"kind":{"Abort":{"Panic":[{"Ident":["core",0]},{"Ident":["panicking",0]},{"Ident":["panic",0]}]}},"comments_before":[]}]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":94,"col":33},"end":{"line":94,"col":34}},"generated_from_span":null},"id":2942,"kind":{"StorageDead":8},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":290,"col":36},"end":{"line":290,"col":37}},"generated_from_span":null},"id":2944,"kind":{"StorageDead":7},"comments_before":[]}]},{"span":{"data":{"file_id":16,"beg":{"line":289,"col":11},"end":{"line":289,"col":41}},"generated_from_span":null},"statements":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":16,"beg":{"line":291,"col":8},"end":{"line":291,"col":9}},"generated_from_span":null},"id":2950,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":95,"col":8},"end":{"line":95,"col":16}},"generated_from_span":null},"id":2952,"kind":{"StorageLive":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":95,"col":19},"end":{"line":95,"col":23}},"generated_from_span":null},"id":2953,"kind":{"StorageLive":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":95,"col":19},"end":{"line":95,"col":23}},"generated_from_span":null},"id":2954,"kind":{"Assign":[{"kind":{"Local":13},"ty":{"Deduplicated":6668}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":5},"ty":{"Deduplicated":6667}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":95,"col":19},"end":{"line":95,"col":31}},"generated_from_span":null},"id":2955,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":37}},"generics":{"regions":[{"Body":18}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":13},"ty":{"Deduplicated":6668}}}],"dest":{"kind":{"Local":12},"ty":{"Deduplicated":508}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":95,"col":30},"end":{"line":95,"col":31}},"generated_from_span":null},"id":2956,"kind":{"StorageDead":13},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":96,"col":8},"end":{"line":96,"col":15}},"generated_from_span":null},"id":2957,"kind":{"StorageLive":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":96,"col":18},"end":{"line":96,"col":23}},"generated_from_span":null},"id":2958,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":8133}},{"Use":[{"Copy":{"kind":{"Local":1},"ty":{"Deduplicated":8133}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2960,"kind":{"StorageLive":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2961,"kind":{"StorageLive":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":14}},"generated_from_span":null},"id":2962,"kind":{"StorageLive":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":14}},"generated_from_span":null},"id":2963,"kind":{"Assign":[{"kind":{"Local":17},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":16},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2964,"kind":{"StorageLive":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":17},"end":{"line":97,"col":18}},"generated_from_span":null},"id":2965,"kind":{"StorageLive":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":17},"end":{"line":97,"col":18}},"generated_from_span":null},"id":2966,"kind":{"Assign":[{"kind":{"Local":19},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":21},"end":{"line":97,"col":22}},"generated_from_span":null},"id":2967,"kind":{"StorageLive":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":21},"end":{"line":97,"col":22}},"generated_from_span":null},"id":2968,"kind":{"Assign":[{"kind":{"Local":20},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":3},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":16},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2969,"kind":{"Assign":[{"kind":{"Local":21},"ty":{"Deduplicated":490}},{"BinaryOp":[{"Add":"Panic"},{"Copy":{"kind":{"Local":19},"ty":{"Deduplicated":490}}},{"Copy":{"kind":{"Local":20},"ty":{"Deduplicated":490}}}]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":16},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2971,"kind":{"Assign":[{"kind":{"Local":18},"ty":{"Deduplicated":490}},{"Use":[{"Move":{"kind":{"Local":21},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":22},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2972,"kind":{"StorageDead":20},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":22},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2973,"kind":{"StorageDead":19},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2974,"kind":{"Assign":[{"kind":{"Local":16},"ty":{"Deduplicated":2449}},{"Aggregate":[{"Adt":[{"id":{"Adt":5},"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},null,null]},[{"Move":{"kind":{"Local":17},"ty":{"Deduplicated":490}}},{"Move":{"kind":{"Local":18},"ty":{"Deduplicated":490}}}]]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":22},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2975,"kind":{"StorageDead":18},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":22},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2976,"kind":{"StorageDead":17},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2977,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":29}},"generics":{"regions":[],"types":[{"Deduplicated":2449},{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":7637}]}}},"args":[{"Move":{"kind":{"Local":16},"ty":{"Deduplicated":2449}}}],"dest":{"kind":{"Local":15},"ty":{"Deduplicated":2449}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":22},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2978,"kind":{"StorageDead":16},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2979,"kind":{"StorageLive":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2980,"kind":{"Assign":[{"kind":{"Local":22},"ty":{"Deduplicated":2449}},{"Use":[{"Move":{"kind":{"Local":15},"ty":{"Deduplicated":2449}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3034,"kind":{"Loop":{"span":{"data":{"file_id":0,"beg":{"line":97,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2982,"kind":{"StorageLive":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2983,"kind":{"StorageLive":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2984,"kind":{"StorageLive":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2985,"kind":{"Assign":[{"kind":{"Local":25},"ty":{"Deduplicated":6671}},{"Ref":{"place":{"kind":{"Local":22},"ty":{"Deduplicated":2449}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2986,"kind":{"Assign":[{"kind":{"Local":24},"ty":{"Deduplicated":6670}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":25},"ty":{"Deduplicated":6671}},"Deref"]},"ty":{"Deduplicated":2449}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2987,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":30}},"generics":{"regions":[{"Body":21}],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[{"Deduplicated":2562}]}}},"args":[{"Move":{"kind":{"Local":24},"ty":{"Deduplicated":6670}}}],"dest":{"kind":{"Local":23},"ty":{"Deduplicated":2452}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":22},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2988,"kind":{"StorageDead":24},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2993,"kind":{"Switch":{"Match":[{"kind":{"Local":23},"ty":{"Deduplicated":2452}},[[[0],{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"id":2990,"kind":{"Break":0},"comments_before":[]}]}],[[1],{"span":{"data":{"file_id":0,"beg":{"line":97,"col":13},"end":{"line":97,"col":23}},"generated_from_span":null},"statements":[]}]],null]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":8},"end":{"line":97,"col":9}},"generated_from_span":null},"id":2994,"kind":{"StorageLive":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":8},"end":{"line":97,"col":9}},"generated_from_span":null},"id":2995,"kind":{"Assign":[{"kind":{"Local":26},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Projection":[{"kind":{"Local":23},"ty":{"Deduplicated":2452}},{"Field":[{"Adt":[11,1]},0]}]},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":8},"end":{"line":98,"col":32}},"generated_from_span":null},"id":2996,"kind":{"StorageLive":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":8},"end":{"line":98,"col":12}},"generated_from_span":null},"id":2997,"kind":{"StorageLive":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":8},"end":{"line":98,"col":12}},"generated_from_span":null},"id":2998,"kind":{"Assign":[{"kind":{"Local":28},"ty":{"Deduplicated":5438}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":508}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":30},"end":{"line":98,"col":31}},"generated_from_span":null},"id":2999,"kind":{"StorageLive":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":30},"end":{"line":98,"col":31}},"generated_from_span":null},"id":3000,"kind":{"Assign":[{"kind":{"Local":29},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":26},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":8},"end":{"line":98,"col":32}},"generated_from_span":null},"id":3001,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":282}},"generics":{"regions":[{"Body":23}],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":28},"ty":{"Deduplicated":5438}}},{"Move":{"kind":{"Local":29},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":27},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":31},"end":{"line":98,"col":32}},"generated_from_span":null},"id":3002,"kind":{"StorageDead":29},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":31},"end":{"line":98,"col":32}},"generated_from_span":null},"id":3003,"kind":{"StorageDead":28},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":98,"col":32},"end":{"line":98,"col":33}},"generated_from_span":null},"id":3004,"kind":{"StorageDead":27},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":14},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3005,"kind":{"StorageLive":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":29},"end":{"line":99,"col":36}},"generated_from_span":null},"id":3006,"kind":{"StorageLive":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":29},"end":{"line":99,"col":36}},"generated_from_span":null},"id":3007,"kind":{"Assign":[{"kind":{"Local":31},"ty":{"Deduplicated":6672}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":406}},"Deref"]},"ty":{"Deduplicated":294}},"kind":"Shared","ptr_metadata":{"Copy":{"kind":{"Projection":[{"kind":{"Local":4},"ty":{"Deduplicated":406}},"PtrMetadata"]},"ty":{"Deduplicated":390}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":38},"end":{"line":99,"col":43}},"generated_from_span":null},"id":3008,"kind":{"StorageLive":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":38},"end":{"line":99,"col":43}},"generated_from_span":null},"id":3009,"kind":{"StorageLive":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":38},"end":{"line":99,"col":43}},"generated_from_span":null},"id":3010,"kind":{"Assign":[{"kind":{"Local":33},"ty":{"Deduplicated":6674}},{"Ref":{"place":{"kind":{"Local":12},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":38},"end":{"line":99,"col":43}},"generated_from_span":null},"id":3011,"kind":{"Assign":[{"kind":{"Local":32},"ty":{"Deduplicated":6673}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":33},"ty":{"Deduplicated":6674}},"Deref"]},"ty":{"Deduplicated":508}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3012,"kind":{"StorageLive":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3013,"kind":{"StorageLive":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3014,"kind":{"StorageLive":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3015,"kind":{"Assign":[{"kind":{"Local":36},"ty":{"Deduplicated":8433}},{"Ref":{"place":{"kind":{"Local":14},"ty":{"Deduplicated":8133}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3016,"kind":{"Assign":[{"kind":{"Local":35},"ty":{"Deduplicated":8432}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":36},"ty":{"Deduplicated":8433}},"Deref"]},"ty":{"Deduplicated":8133}},"kind":"Shared","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":45},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3017,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Builtin":"ArrayToSliceShared"}},"generics":{"regions":["Erased"],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":35},"ty":{"Deduplicated":8432}}}],"dest":{"kind":{"Local":34},"ty":{"Deduplicated":2650}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":48},"end":{"line":99,"col":49}},"generated_from_span":null},"id":3018,"kind":{"StorageDead":35},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":14},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3019,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":43}},"generics":{"regions":[{"Body":29},{"Body":30},{"Body":31}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":31},"ty":{"Deduplicated":6672}}},{"Move":{"kind":{"Local":32},"ty":{"Deduplicated":6673}}},{"Move":{"kind":{"Local":34},"ty":{"Deduplicated":2650}}}],"dest":{"kind":{"Local":30},"ty":{"Deduplicated":8133}}}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":49},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3020,"kind":{"StorageDead":34},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":49},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3021,"kind":{"StorageDead":32},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":49},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3022,"kind":{"StorageDead":31},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":8},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3023,"kind":{"Assign":[{"kind":{"Local":14},"ty":{"Deduplicated":8133}},{"Use":[{"Move":{"kind":{"Local":30},"ty":{"Deduplicated":8133}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":49},"end":{"line":99,"col":50}},"generated_from_span":null},"id":3024,"kind":{"StorageDead":30},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":50},"end":{"line":99,"col":51}},"generated_from_span":null},"id":3025,"kind":{"StorageDead":36},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":99,"col":50},"end":{"line":99,"col":51}},"generated_from_span":null},"id":3026,"kind":{"StorageDead":33},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3028,"kind":{"StorageDead":26},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3029,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3030,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":97,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3033,"kind":{"Continue":0},"comments_before":[]}]}},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3036,"kind":{"StorageDead":25},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3037,"kind":{"StorageDead":23},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3039,"kind":{"StorageDead":22},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":100,"col":4},"end":{"line":100,"col":5}},"generated_from_span":null},"id":3040,"kind":{"StorageDead":15},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":101,"col":4},"end":{"line":101,"col":7}},"generated_from_span":null},"id":3042,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":8133}},{"Use":[{"Copy":{"kind":{"Local":14},"ty":{"Deduplicated":8133}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":102,"col":0},"end":{"line":102,"col":1}},"generated_from_span":null},"id":3043,"kind":{"StorageDead":14},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":102,"col":0},"end":{"line":102,"col":1}},"generated_from_span":null},"id":3044,"kind":{"Drop":[{"kind":{"Local":12},"ty":{"Deduplicated":508}},{"kind":{"Fun":{"Regular":13}},"generics":{"regions":[{"Body":24}],"types":[],"const_generics":[],"trait_refs":[]}},"Conditional"]},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":102,"col":0},"end":{"line":102,"col":1}},"generated_from_span":null},"id":3045,"kind":{"StorageDead":12},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":102,"col":1},"end":{"line":102,"col":1}},"generated_from_span":null},"id":3046,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":261,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsPk",0]},{"Impl":{"Trait":37}},{"Ident":["drop_glue",0]}],"span":{"data":{"file_id":2,"beg":{"line":86,"col":0},"end":{"line":86,"col":61}},"generated_from_span":null},"source_text":"pub(crate) struct WotsPk(pub(crate) [u8; N]);","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8434,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[8174,{"Adt":{"id":{"Adt":49},"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}]},"Mut"]}]}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8174}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"bound_body_regions":5,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8435,{"Ref":[{"Body":1},{"Deduplicated":8174},"Mut"]}]}},{"index":2,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"HashConsedValue":[8436,{"Ref":[{"Body":2},{"Deduplicated":8174},"Mut"]}]}},{"index":3,"name":null,"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"ty":{"Deduplicated":416}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3047,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3048,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3049,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":3050,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8436}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8435}},"Deref"]},"ty":{"Deduplicated":8174}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":3051,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":283}},"generics":{"regions":[{"Body":4}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":2},"ty":{"Deduplicated":8436}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":28,"beg":{"line":825,"col":0},"end":{"line":827,"col":24}},"generated_from_span":null},"id":3052,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":262,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["TREE",0]}],"span":{"data":{"file_id":2,"beg":{"line":106,"col":0},"end":{"line":106,"col":31}},"generated_from_span":null},"source_text":"pub(crate) const TREE: u32 = 2;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":13,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":106,"col":0},"end":{"line":106,"col":31}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":106,"col":23},"end":{"line":106,"col":26}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":106,"col":0},"end":{"line":106,"col":31}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":106,"col":29},"end":{"line":106,"col":30}},"generated_from_span":null},"id":3053,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","2"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":106,"col":0},"end":{"line":106,"col":31}},"generated_from_span":null},"id":3054,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":263,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":51}},{"Ident":["drop",0]}],"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8404}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":51,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8164}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"bound_body_regions":12,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":90,"col":45},"end":{"line":90,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":8405}},{"index":2,"name":"sig_wots","span":{"data":{"file_id":2,"beg":{"line":92,"col":15},"end":{"line":92,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[8437,{"Ref":[{"Body":3},{"Deduplicated":8143},"Mut"]}]}},{"index":3,"name":"auth","span":{"data":{"file_id":2,"beg":{"line":93,"col":15},"end":{"line":93,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8438,{"Ref":[{"Body":5},{"Deduplicated":8144},"Mut"]}]}},{"index":4,"name":null,"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":5,"name":null,"span":{"data":{"file_id":2,"beg":{"line":92,"col":15},"end":{"line":92,"col":23}},"generated_from_span":null},"ty":{"HashConsedValue":[8439,{"Ref":[{"Body":6},{"Deduplicated":8143},"Mut"]}]}},{"index":6,"name":null,"span":{"data":{"file_id":2,"beg":{"line":93,"col":15},"end":{"line":93,"col":19}},"generated_from_span":null},"ty":{"HashConsedValue":[8440,{"Ref":[{"Body":7},{"Deduplicated":8144},"Mut"]}]}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3055,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":15},"end":{"line":92,"col":23}},"generated_from_span":null},"id":3056,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":15},"end":{"line":92,"col":23}},"generated_from_span":null},"id":3057,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8437}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8405}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},0]}]},"ty":{"Deduplicated":8143}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":15},"end":{"line":93,"col":19}},"generated_from_span":null},"id":3058,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":15},"end":{"line":93,"col":19}},"generated_from_span":null},"id":3059,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8438}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8405}},"Deref"]},"ty":{"Deduplicated":8164}},{"Field":[{"Adt":[8,null]},1]}]},"ty":{"Deduplicated":8144}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3060,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":15},"end":{"line":92,"col":23}},"generated_from_span":null},"id":3061,"kind":{"StorageLive":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":92,"col":15},"end":{"line":92,"col":23}},"generated_from_span":null},"id":3062,"kind":{"Assign":[{"kind":{"Local":5},"ty":{"Deduplicated":8439}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8437}},"Deref"]},"ty":{"Deduplicated":8143}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3063,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":9}],"types":[{"Deduplicated":8143}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8441,{"kind":{"TraitImpl":{"id":55,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8143}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":5},"ty":{"Deduplicated":8439}}}],"dest":{"kind":{"Local":4},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":44},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3064,"kind":{"StorageDead":5},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":44},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3065,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":15},"end":{"line":93,"col":19}},"generated_from_span":null},"id":3066,"kind":{"StorageLive":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":93,"col":15},"end":{"line":93,"col":19}},"generated_from_span":null},"id":3067,"kind":{"Assign":[{"kind":{"Local":6},"ty":{"Deduplicated":8440}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":3},"ty":{"Deduplicated":8438}},"Deref"]},"ty":{"Deduplicated":8144}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3068,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":11}],"types":[{"Deduplicated":8144}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8443,{"kind":{"TraitImpl":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":8134}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8442,{"kind":{"TraitImpl":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":5699}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8134}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8144}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"args":[{"Move":{"kind":{"Local":6},"ty":{"Deduplicated":8440}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":44},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3069,"kind":{"StorageDead":6},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":44},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3070,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":44},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3071,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":90,"col":45},"end":{"line":90,"col":45}},"generated_from_span":null},"id":3072,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":264,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["Zeroize",0]},{"Ident":["zeroize",0]}],"span":{"data":{"file_id":65,"beg":{"line":248,"col":4},"end":{"line":248,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Zero out this object from memory using Rust intrinsics which ensure the"},{"DocComment":" zeroization operation is not \"optimized away\" by the compiler."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"Deduplicated":416}},"src":{"TraitDecl":{"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":265,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Impl":{"Trait":40}},{"Ident":["zeroize",0]}],"span":{"data":{"file_id":65,"beg":{"line":346,"col":4},"end":{"line":346,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Z"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":344,"col":7},"end":{"line":344,"col":14}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8425}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":40,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8175}]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8146}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":266,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Impl":{"Trait":41}},{"Ident":["zeroize",0]}],"span":{"data":{"file_id":65,"beg":{"line":274,"col":4},"end":{"line":274,"col":25}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Z"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":272,"col":7},"end":{"line":272,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":41,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8176,{"kind":{"Clause":{"Free":0}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":267,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]},{"Ident":["from_residual",0]}],"span":{"data":{"file_id":54,"beg":{"line":333,"col":4},"end":{"line":333,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Constructs the type from a compatible `Residual` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method such"},{"DocComment":" that applying the `?` operator will get back an equivalent residual:"},{"DocComment":" `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`."},{"DocComment":" (The residual is not mandated to be *identical* when interconversion is involved.)"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, FromResidual};"},{"DocComment":""},{"DocComment":" assert_eq!(Result::::from_residual(Err(3_u8)), Err(3));"},{"DocComment":" assert_eq!(Option::::from_residual(None), None);"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::from_residual(ControlFlow::Break(5)),"},{"DocComment":" ControlFlow::Break(5),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"from_residual"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"R"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":30,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8145}],"output":{"Deduplicated":8140}},"src":{"TraitDecl":{"trait_ref":{"id":30,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":270,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":46}},{"Ident":["eq",0]}],"span":{"data":{"file_id":27,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8374},{"Deduplicated":8375}],"output":{"Deduplicated":403}},"src":{"TraitImpl":{"impl_ref":{"id":46,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":272,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":47}},{"Ident":["eq",0]}],"span":{"data":{"file_id":27,"beg":{"line":1878,"col":16},"end":{"line":1878,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8376},{"Deduplicated":8377}],"output":{"Deduplicated":403}},"src":{"TraitImpl":{"impl_ref":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,{"def_id":274,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":53}},{"Ident":["drop",0]}],"span":{"data":{"file_id":2,"beg":{"line":79,"col":32},"end":{"line":79,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8422}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":53,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":79,"col":32},"end":{"line":79,"col":45}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":79,"col":45},"end":{"line":79,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":79,"col":32},"end":{"line":79,"col":45}},"generated_from_span":null},"ty":{"Deduplicated":8423}},{"index":2,"name":"data","span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":8418}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":8419}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3073,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3074,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3075,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8418}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8423}},"Deref"]},"ty":{"Deduplicated":8173}},{"Field":[{"Adt":[16,null]},0]}]},"ty":{"Deduplicated":8142}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3076,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3077,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8419}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8418}},"Deref"]},"ty":{"Deduplicated":8142}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":32},"end":{"line":79,"col":45}},"generated_from_span":null},"id":3078,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8142}],"const_generics":[],"trait_refs":[{"Deduplicated":8421}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8419}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":44},"end":{"line":79,"col":45}},"generated_from_span":null},"id":3079,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":44},"end":{"line":79,"col":45}},"generated_from_span":null},"id":3080,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":45},"end":{"line":79,"col":45}},"generated_from_span":null},"id":3081,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":275,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["IndexMut",0]},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":8,"beg":{"line":179,"col":4},"end":{"line":179,"col":61}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Performs the mutable indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Clause0_Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268},{"Deduplicated":8145}],"output":{"Deduplicated":8331}},"src":{"TraitDecl":{"trait_ref":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":276,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":50}},{"Ident":["index_mut",0]}],"span":{"data":{"file_id":9,"beg":{"line":30,"col":4},"end":{"line":30,"col":55}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Always","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":27,"col":7},"end":{"line":27,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8148},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8334},{"Deduplicated":8145}],"output":{"Deduplicated":8331}},"src":{"TraitImpl":{"impl_ref":{"id":50,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8150}]}},"trait_ref":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},{"def_id":277,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["LGW",0]}],"span":{"data":{"file_id":1,"beg":{"line":72,"col":0},"end":{"line":72,"col":19}},"generated_from_span":null},"source_text":"const LGW: u32 = 4;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":21,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":72,"col":0},"end":{"line":72,"col":19}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":72,"col":11},"end":{"line":72,"col":14}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":72,"col":0},"end":{"line":72,"col":19}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":72,"col":17},"end":{"line":72,"col":18}},"generated_from_span":null},"id":3082,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","4"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":72,"col":0},"end":{"line":72,"col":19}},"generated_from_span":null},"id":3083,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":278,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["W",0]}],"span":{"data":{"file_id":1,"beg":{"line":73,"col":0},"end":{"line":73,"col":18}},"generated_from_span":null},"source_text":"const W: u32 = 16;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":22,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":73,"col":0},"end":{"line":73,"col":18}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":73,"col":9},"end":{"line":73,"col":12}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":73,"col":0},"end":{"line":73,"col":18}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":73,"col":15},"end":{"line":73,"col":17}},"generated_from_span":null},"id":3084,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","16"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":73,"col":0},"end":{"line":73,"col":18}},"generated_from_span":null},"id":3085,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":279,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["LEN2",0]}],"span":{"data":{"file_id":1,"beg":{"line":74,"col":0},"end":{"line":74,"col":20}},"generated_from_span":null},"source_text":"const LEN2: u32 = 3;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":23,"body":{"Structured":{"span":{"data":{"file_id":1,"beg":{"line":74,"col":0},"end":{"line":74,"col":20}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":1,"beg":{"line":74,"col":12},"end":{"line":74,"col":15}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":1,"beg":{"line":74,"col":0},"end":{"line":74,"col":20}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":1,"beg":{"line":74,"col":18},"end":{"line":74,"col":19}},"generated_from_span":null},"id":3086,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","3"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":1,"beg":{"line":74,"col":0},"end":{"line":74,"col":20}},"generated_from_span":null},"id":3087,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":280,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["to_le_bytes",0]}],"span":{"data":{"file_id":12,"beg":{"line":3986,"col":8},"end":{"line":3986,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Returns the memory representation of this integer as a byte array in"},{"DocComment":" little-endian byte order."},{"DocComment":""},{"DocComment":""},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"let bytes = 0x12345678u32.to_le_bytes();"},{"DocComment":"assert_eq!(bytes, [0x78, 0x56, 0x34, 0x12]);"},{"DocComment":" ```"}],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":490}],"output":{"Deduplicated":1268}},"src":"TopLevel","is_global_initializer":null,"body":"Opaque"},{"def_id":281,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_PK",0]}],"span":{"data":{"file_id":2,"beg":{"line":105,"col":0},"end":{"line":105,"col":34}},"generated_from_span":null},"source_text":"pub(crate) const WOTS_PK: u32 = 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":490}},"src":"TopLevel","is_global_initializer":24,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":105,"col":0},"end":{"line":105,"col":34}},"generated_from_span":null},"bound_body_regions":0,"locals":{"arg_count":0,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":105,"col":26},"end":{"line":105,"col":29}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":2,"beg":{"line":105,"col":0},"end":{"line":105,"col":34}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":2,"beg":{"line":105,"col":32},"end":{"line":105,"col":33}},"generated_from_span":null},"id":3088,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":490}},{"Use":[{"Const":{"kind":{"Literal":{"Scalar":{"Unsigned":["U32","1"]}}},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":105,"col":0},"end":{"line":105,"col":34}},"generated_from_span":null},"id":3089,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":282,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["helpers",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":508},"kind":"InherentImplBlock"}}},{"Ident":["set_hash_address",0]}],"span":{"data":{"file_id":11,"beg":{"line":228,"col":4},"end":{"line":228,"col":89}},"generated_from_span":null},"source_text":"pub(crate) fn set_hash_address(&mut self, addr: u32) { self.f7 = addr.to_be_bytes() }","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8273},{"Deduplicated":490}],"output":{"Deduplicated":416}},"src":"TopLevel","is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":11,"beg":{"line":228,"col":4},"end":{"line":228,"col":89}},"generated_from_span":null},"bound_body_regions":2,"locals":{"arg_count":2,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":11,"beg":{"line":228,"col":56},"end":{"line":228,"col":56}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":11,"beg":{"line":228,"col":35},"end":{"line":228,"col":44}},"generated_from_span":null},"ty":{"Deduplicated":2131}},{"index":2,"name":"addr","span":{"data":{"file_id":11,"beg":{"line":228,"col":46},"end":{"line":228,"col":50}},"generated_from_span":null},"ty":{"Deduplicated":490}},{"index":3,"name":null,"span":{"data":{"file_id":11,"beg":{"line":228,"col":69},"end":{"line":228,"col":87}},"generated_from_span":null},"ty":{"Deduplicated":1268}},{"index":4,"name":null,"span":{"data":{"file_id":11,"beg":{"line":228,"col":69},"end":{"line":228,"col":73}},"generated_from_span":null},"ty":{"Deduplicated":490}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3090,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":69},"end":{"line":228,"col":87}},"generated_from_span":null},"id":3091,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":69},"end":{"line":228,"col":73}},"generated_from_span":null},"id":3092,"kind":{"StorageLive":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":69},"end":{"line":228,"col":73}},"generated_from_span":null},"id":3093,"kind":{"Assign":[{"kind":{"Local":4},"ty":{"Deduplicated":490}},{"Use":[{"Copy":{"kind":{"Local":2},"ty":{"Deduplicated":490}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":69},"end":{"line":228,"col":87}},"generated_from_span":null},"id":3094,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":35}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"args":[{"Move":{"kind":{"Local":4},"ty":{"Deduplicated":490}}}],"dest":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}}},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":86},"end":{"line":228,"col":87}},"generated_from_span":null},"id":3095,"kind":{"StorageDead":4},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":59},"end":{"line":228,"col":87}},"generated_from_span":null},"id":3096,"kind":{"Assign":[{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":2131}},"Deref"]},"ty":{"Deduplicated":508}},{"Field":[{"Adt":[4,null]},7]}]},"ty":{"Deduplicated":1268}},{"Use":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":1268}}},"Yes"]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":59},"end":{"line":228,"col":87}},"generated_from_span":null},"id":3097,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":86},"end":{"line":228,"col":87}},"generated_from_span":null},"id":3098,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":11,"beg":{"line":228,"col":89},"end":{"line":228,"col":89}},"generated_from_span":null},"id":3099,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":283,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":54}},{"Ident":["drop",0]}],"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8434}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":54,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8174}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":false}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":85,"col":38},"end":{"line":85,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":8435}},{"index":2,"name":"__zeroize_field_0","span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":8410}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"ty":{"Deduplicated":8411}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3100,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3101,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3102,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8410}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8435}},"Deref"]},"ty":{"Deduplicated":8174}},{"Field":[{"Adt":[49,null]},0]}]},"ty":{"Deduplicated":8133}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3103,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3104,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8411}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8410}},"Deref"]},"ty":{"Deduplicated":8133}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3105,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":194}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8133}],"const_generics":[],"trait_refs":[{"Deduplicated":8412}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8411}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":37},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3106,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":37},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3107,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":85,"col":38},"end":{"line":85,"col":38}},"generated_from_span":null},"id":3108,"kind":"Return","comments_before":[]}]},"comments":[]}}},{"def_id":284,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Ident":["AssertZeroize",0]},{"Ident":["zeroize_or_on_drop",0]}],"span":{"data":{"file_id":65,"beg":{"line":842,"col":8},"end":{"line":842,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":1,"beg":{"line":1,"col":0},"end":{"line":1,"col":0}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8268}],"output":{"Deduplicated":416}},"src":{"TraitDecl":{"trait_ref":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"has_default":false}},"is_global_initializer":null,"body":"Opaque"},{"def_id":285,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":52}},{"Ident":["clone",0]}],"span":{"data":{"file_id":66,"beg":{"line":17,"col":17},"end":{"line":17,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":"Hint","rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8444,{"Ref":[{"Var":{"Free":0}},{"HashConsedValue":[5787,{"Adt":{"id":{"Adt":54},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}]},"Shared"]}]}],"output":{"Deduplicated":5787}},"src":{"TraitImpl":{"impl_ref":{"id":52,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"trait_ref":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":5787}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":"Opaque"},null,null,{"def_id":288,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":55}},{"Ident":["zeroize",0]}],"span":{"data":{"file_id":2,"beg":{"line":79,"col":23},"end":{"line":79,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8422}],"output":{"Deduplicated":416}},"src":{"TraitImpl":{"impl_ref":{"id":55,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"trait_ref":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"item_id":{"Method":0},"reuses_default":true}},"is_global_initializer":null,"body":{"Structured":{"span":{"data":{"file_id":2,"beg":{"line":79,"col":23},"end":{"line":79,"col":30}},"generated_from_span":null},"bound_body_regions":7,"locals":{"arg_count":1,"locals":[{"index":0,"name":null,"span":{"data":{"file_id":2,"beg":{"line":79,"col":30},"end":{"line":79,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":416}},{"index":1,"name":"self","span":{"data":{"file_id":2,"beg":{"line":79,"col":23},"end":{"line":79,"col":30}},"generated_from_span":null},"ty":{"Deduplicated":8423}},{"index":2,"name":"data","span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":8418}},{"index":3,"name":null,"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"ty":{"Deduplicated":8419}}]},"body":{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"statements":[{"span":{"data":{"file_id":0,"beg":{"line":0,"col":0},"end":{"line":0,"col":0}},"generated_from_span":null},"id":3109,"kind":{"Assign":[{"kind":{"Local":0},"ty":{"Deduplicated":416}},{"Aggregate":[{"Adt":[{"id":"Tuple","generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},null,null]},[]]}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3110,"kind":{"StorageLive":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3111,"kind":{"Assign":[{"kind":{"Local":2},"ty":{"Deduplicated":8418}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Projection":[{"kind":{"Local":1},"ty":{"Deduplicated":8423}},"Deref"]},"ty":{"Deduplicated":8173}},{"Field":[{"Adt":[16,null]},0]}]},"ty":{"Deduplicated":8142}},"kind":"Mut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3112,"kind":{"StorageLive":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":81,"col":15},"end":{"line":81,"col":19}},"generated_from_span":null},"id":3113,"kind":{"Assign":[{"kind":{"Local":3},"ty":{"Deduplicated":8419}},{"Ref":{"place":{"kind":{"Projection":[{"kind":{"Local":2},"ty":{"Deduplicated":8418}},"Deref"]},"ty":{"Deduplicated":8142}},"kind":"TwoPhaseMut","ptr_metadata":{"Const":{"kind":{"Adt":[null,[]]},"ty":{"Deduplicated":416}}}}}]},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":23},"end":{"line":79,"col":30}},"generated_from_span":null},"id":3114,"kind":{"Call":{"func":{"Regular":{"kind":{"Fun":{"Regular":265}},"generics":{"regions":[{"Body":6}],"types":[{"Deduplicated":8141}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8420}]}}},"args":[{"Move":{"kind":{"Local":3},"ty":{"Deduplicated":8419}}}],"dest":{"kind":{"Local":0},"ty":{"Deduplicated":416}}}},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":29},"end":{"line":79,"col":30}},"generated_from_span":null},"id":3115,"kind":{"StorageDead":3},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":29},"end":{"line":79,"col":30}},"generated_from_span":null},"id":3116,"kind":{"StorageDead":2},"comments_before":[]},{"span":{"data":{"file_id":2,"beg":{"line":79,"col":30},"end":{"line":79,"col":30}},"generated_from_span":null},"id":3117,"kind":"Return","comments_before":[]}]},"comments":[]}}}],"global_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":647},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}],"span":{"data":{"file_id":12,"beg":{"line":51,"col":8},"end":{"line":51,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The largest value that can be represented by this integer type"},{"DocComment":"(264 − 1)."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"assert_eq!(u64::MAX, 18446744073709551615);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":647},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":32}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":647}}},{"def_id":1,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_TREE",0]}],"span":{"data":{"file_id":2,"beg":{"line":107,"col":0},"end":{"line":107,"col":36}},"generated_from_span":null},"source_text":"pub(crate) const FORS_TREE: u32 = 3;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":36}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},null,null,null,{"def_id":5,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["FORS_ROOTS",0]}],"span":{"data":{"file_id":2,"beg":{"line":108,"col":0},"end":{"line":108,"col":37}},"generated_from_span":null},"source_text":"pub(crate) const FORS_ROOTS: u32 = 4;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":178}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},null,null,null,null,null,{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Impl":{"Ty":{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"Deduplicated":490},"kind":"InherentImplBlock"}}},{"Ident":["MAX",0]}],"span":{"data":{"file_id":12,"beg":{"line":51,"col":8},"end":{"line":51,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The largest value that can be represented by this integer type"},{"DocComment":"(232 − 1)."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":"assert_eq!(u32::MAX, 4294967295);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":242}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},{"def_id":12,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_HASH",0]}],"span":{"data":{"file_id":2,"beg":{"line":104,"col":0},"end":{"line":104,"col":36}},"generated_from_span":null},"source_text":"pub(crate) const WOTS_HASH: u32 = 0;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":255}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},{"def_id":13,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["TREE",0]}],"span":{"data":{"file_id":2,"beg":{"line":106,"col":0},"end":{"line":106,"col":31}},"generated_from_span":null},"source_text":"pub(crate) const TREE: u32 = 2;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":262}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},null,null,null,null,null,null,null,{"def_id":21,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["LGW",0]}],"span":{"data":{"file_id":1,"beg":{"line":72,"col":0},"end":{"line":72,"col":19}},"generated_from_span":null},"source_text":"const LGW: u32 = 4;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":277}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},{"def_id":22,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["W",0]}],"span":{"data":{"file_id":1,"beg":{"line":73,"col":0},"end":{"line":73,"col":18}},"generated_from_span":null},"source_text":"const W: u32 = 16;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":278}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},{"def_id":23,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["LEN2",0]}],"span":{"data":{"file_id":1,"beg":{"line":74,"col":0},"end":{"line":74,"col":20}},"generated_from_span":null},"source_text":"const LEN2: u32 = 3;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":279}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},{"def_id":24,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WOTS_PK",0]}],"span":{"data":{"file_id":2,"beg":{"line":105,"col":0},"end":{"line":105,"col":34}},"generated_from_span":null},"source_text":"pub(crate) const WOTS_PK: u32 = 1;","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"ty":{"Deduplicated":490},"src":"TopLevel","global_kind":"NamedConst","value":{"kind":{"Call":[{"kind":{"Fun":{"Regular":281}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},[]]},"ty":{"Deduplicated":490}}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"trait_decls":[{"def_id":0,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Destruct",0]}],"span":{"data":{"file_id":6,"beg":{"line":1062,"col":0},"end":{"line":1062,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A marker for types that can be dropped."},{"DocComment":""},{"DocComment":" This should be used for `[const]` bounds,"},{"DocComment":" as non-const bounds will always hold for every type."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"destruct"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"drop_glue","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"HashConsedValue":[8182,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":8140},"Mut"]}]}],"output":{"Deduplicated":416}},"item":{"id":4,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":1,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["Index",0]}],"span":{"data":{"file_id":8,"beg":{"line":59,"col":0},"end":{"line":59,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used for indexing operations (`container[index]`) in immutable contexts."},{"DocComment":""},{"DocComment":" `container[index]` is actually syntactic sugar for `*container.index(index)`,"},{"DocComment":" but only when used as an immutable value. If a mutable value is requested,"},{"DocComment":" [`IndexMut`] is used instead. This allows nice things such as"},{"DocComment":" `let value = v[index]` if the type of `value` implements [`Copy`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" The following example implements `Index` on a read-only `NucleotideCount`"},{"DocComment":" container, enabling individual counts to be retrieved with index syntax."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::Index;"},{"DocComment":""},{"DocComment":" enum Nucleotide {"},{"DocComment":" A,"},{"DocComment":" C,"},{"DocComment":" G,"},{"DocComment":" T,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct NucleotideCount {"},{"DocComment":" a: usize,"},{"DocComment":" c: usize,"},{"DocComment":" g: usize,"},{"DocComment":" t: usize,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Index for NucleotideCount {"},{"DocComment":" type Output = usize;"},{"DocComment":""},{"DocComment":" fn index(&self, nucleotide: Nucleotide) -> &Self::Output {"},{"DocComment":" match nucleotide {"},{"DocComment":" Nucleotide::A => &self.a,"},{"DocComment":" Nucleotide::C => &self.c,"},{"DocComment":" Nucleotide::G => &self.g,"},{"DocComment":" Nucleotide::T => &self.t,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let nucleotide_count = NucleotideCount {a: 14, c: 9, g: 10, t: 12};"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::A], 14);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::C], 9);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::G], 10);"},{"DocComment":" assert_eq!(nucleotide_count[Nucleotide::T], 12);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"index"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index","attr_info":{"attributes":[{"DocComment":" Performs the indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"HashConsedValue":[8183,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":8140},"Shared"]}]},{"Deduplicated":8145}],"output":{"HashConsedValue":[8184,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":8147},"Shared"]}]}},"item":{"id":14,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8185,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[1,0]}}],"vtable":{"id":{"Adt":9},"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}},{"def_id":2,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["SliceIndex",0]}],"span":{"data":{"file_id":9,"beg":{"line":163,"col":0},"end":{"line":163,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A helper trait used for indexing operations."},{"DocComment":""},{"DocComment":" Implementations of this trait have to promise that if the argument"},{"DocComment":" to `get_unchecked(_mut)` is a safe reference, then so is the result."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"SliceIndex"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":163,"col":46},"end":{"line":163,"col":73}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get","attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"HashConsedValue":[8186,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":8145},"Shared"]}]}],"output":{"HashConsedValue":[8187,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"Deduplicated":8184}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":16,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8188,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[2,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, if in"},{"DocComment":" bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"HashConsedValue":[8189,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":8145},"Mut"]}]}],"output":{"HashConsedValue":[8191,{"Adt":{"id":{"Adt":11},"generics":{"regions":[],"types":[{"HashConsedValue":[8190,{"Ref":[{"Var":{"Bound":[0,0]}},{"Deduplicated":8147},"Mut"]}]}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":17,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8188}]}}},"kind":{"TraitMethod":[2,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_unchecked","attr_info":{"attributes":[{"DocComment":" Returns a pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":8192}],"output":{"Deduplicated":8193}},"item":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8188}]}}},"kind":{"TraitMethod":[2,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"get_unchecked_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable pointer to the output at this location, without"},{"DocComment":" performing any bounds checking."},{"DocComment":""},{"DocComment":" Calling this method with an out-of-bounds index or a dangling `slice` pointer"},{"DocComment":" is *[undefined behavior]* even if the resulting pointer is not used."},{"DocComment":""},{"DocComment":" [undefined behavior]: https://doc.rust-lang.org/reference/behavior-considered-undefined.html"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":true,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":8194}],"output":{"Deduplicated":8195}},"item":{"id":19,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8188}]}}},"kind":{"TraitMethod":[2,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index","attr_info":{"attributes":[{"DocComment":" Returns a shared reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":8186}],"output":{"Deduplicated":8184}},"item":{"id":20,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8188}]}}},"kind":{"TraitMethod":[2,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index_mut","attr_info":{"attributes":[{"DocComment":" Returns a mutable reference to the output at this location, panicking"},{"DocComment":" if out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":8189}],"output":{"Deduplicated":8190}},"item":{"id":21,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8188}]}}},"kind":{"TraitMethod":[2,5]}}],"vtable":{"id":{"Adt":10},"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}},{"def_id":3,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Ident":["Default",0]}],"span":{"data":{"file_id":14,"beg":{"line":107,"col":0},"end":{"line":107,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for giving a type a useful default value."},{"DocComment":""},{"DocComment":" Sometimes, you want to fall back to some kind of default value, and"},{"DocComment":" don't particularly care what it is. This comes up often with `struct`s"},{"DocComment":" that define a set of options:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" How can we define some default values? You can use `Default`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Default)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let options: SomeOptions = Default::default();"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Now, you get all of the default values. Rust implements `Default` for various primitive types."},{"DocComment":""},{"DocComment":" If you want to override a particular option, but still retain the other defaults:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" # #[derive(Default)]"},{"DocComment":" # struct SomeOptions {"},{"DocComment":" # foo: i32,"},{"DocComment":" # bar: f32,"},{"DocComment":" # }"},{"DocComment":" fn main() {"},{"DocComment":" let options = SomeOptions { foo: 42, ..Default::default() };"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all of the type's fields implement"},{"DocComment":" `Default`. When `derive`d, it will use the default value for each field's type."},{"DocComment":""},{"DocComment":" ### `enum`s"},{"DocComment":""},{"DocComment":" When using `#[derive(Default)]` on an `enum`, you need to choose which unit variant will be"},{"DocComment":" default. You do this by placing the `#[default]` attribute on the variant."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Default)]"},{"DocComment":" enum Kind {"},{"DocComment":" #[default]"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You cannot use the `#[default]` attribute on non-unit or non-exhaustive variants."},{"DocComment":""},{"DocComment":" The `#[default]` attribute was stabilized in Rust 1.62.0."},{"DocComment":""},{"DocComment":" ## How can I implement `Default`?"},{"DocComment":""},{"DocComment":" Provide an implementation for the `default()` method that returns the value of"},{"DocComment":" your type that should be the default:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Default)]"},{"DocComment":" struct SomeOptions {"},{"DocComment":" foo: i32,"},{"DocComment":" bar: f32,"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Default"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"default","attr_info":{"attributes":[{"DocComment":" Returns the \"default value\" for a type."},{"DocComment":""},{"DocComment":" Default values are often some kind of initial value, identity value, or anything else that"},{"DocComment":" may make sense as a default."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Using built-in default values:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let i: i8 = Default::default();"},{"DocComment":" let (x, y): (Option, f64) = Default::default();"},{"DocComment":" let (a, b, (c, d)): (i32, u32, (bool, bool)) = Default::default();"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Making your own:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" enum Kind {"},{"DocComment":" A,"},{"DocComment":" B,"},{"DocComment":" C,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Default for Kind {"},{"DocComment":" fn default() -> Self { Kind::A }"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[],"output":{"Deduplicated":8140}},"item":{"id":52,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8196,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":4,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Ident":["Sealed",0]}],"span":{"data":{"file_id":9,"beg":{"line":109,"col":4},"end":{"line":109,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":17},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":5,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["iterator",0]},{"Ident":["Iterator",0]}],"span":{"data":{"file_id":22,"beg":{"line":42,"col":0},"end":{"line":42,"col":24}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A trait for dealing with iterators."},{"DocComment":""},{"DocComment":" This is the main iterator trait. For more about the concept of iterators"},{"DocComment":" generally, please see the [module-level documentation]. In particular, you"},{"DocComment":" may want to know how to [implement `Iterator`][impl]."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":" [impl]: crate::iter#implementing-iterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"iterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"next","attr_info":{"attributes":[{"DocComment":" Advances the iterator and returns the next value."},{"DocComment":""},{"DocComment":" Returns [`None`] when iteration is finished. Individual iterator"},{"DocComment":" implementations may choose to resume iteration, and so calling `next()`"},{"DocComment":" again may or may not eventually start returning [`Some(Item)`] again at some"},{"DocComment":" point."},{"DocComment":""},{"DocComment":" [`Some(Item)`]: Some"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = [1, 2, 3];"},{"DocComment":""},{"DocComment":" let mut iter = a.into_iter();"},{"DocComment":""},{"DocComment":" // A call to next() returns the next value..."},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":""},{"DocComment":" // ... and then None once it's over."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":""},{"DocComment":" // More calls may or may not return `None`. Here, they always will."},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182}],"output":{"Deduplicated":8197}},"item":{"id":55,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8198,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[5,0]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":18},"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}},{"def_id":6,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Ident":["Step",0]}],"span":{"data":{"file_id":23,"beg":{"line":34,"col":0},"end":{"line":34,"col":64}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Objects that have a notion of *successor* and *predecessor* operations."},{"DocComment":""},{"DocComment":" The *successor* operation moves towards values that compare greater."},{"DocComment":" The *predecessor* operation moves towards values that compare lesser."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"range_step"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":23,"beg":{"line":34,"col":22},"end":{"line":34,"col":35}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":23,"beg":{"line":34,"col":38},"end":{"line":34,"col":56}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"steps_between","attr_info":{"attributes":[{"DocComment":" Returns the bounds on the number of *successor* steps required to get from `start` to `end`"},{"DocComment":" like [`Iterator::size_hint()`][Iterator::size_hint()]."},{"DocComment":""},{"DocComment":" Returns `(usize::MAX, None)` if the number of steps would overflow `usize`, or is infinite."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `b`, and `n`:"},{"DocComment":""},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::forward_checked(&a, n) == Some(b)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` if and only if `Step::backward_checked(&b, n) == Some(a)`"},{"DocComment":" * `steps_between(&a, &b) == (n, Some(n))` only if `a <= b`"},{"DocComment":" * Corollary: `steps_between(&a, &b) == (0, Some(0))` if and only if `a == b`"},{"DocComment":" * `steps_between(&a, &b) == (0, None)` if `a > b`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8183},{"HashConsedValue":[8199,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":8140},"Shared"]}]}],"output":{"Deduplicated":2961}},"item":{"id":141,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8200,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[6,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"forward_checked","attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *successor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == Step::forward_checked(a, m).and_then(|x| Step::forward_checked(x, n))`"},{"DocComment":" * `Step::forward_checked(a, n).and_then(|x| Step::forward_checked(x, m)) == try { Step::forward_checked(a, n.checked_add(m)) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::forward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::forward_checked(&x, 1))`"},{"DocComment":" * Corollary: `Step::forward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":390}],"output":{"Deduplicated":8201}},"item":{"id":142,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8200}]}}},"kind":{"TraitMethod":[6,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"backward_checked","attr_info":{"attributes":[{"DocComment":" Returns the value that would be obtained by taking the *predecessor*"},{"DocComment":" of `self` `count` times."},{"DocComment":""},{"DocComment":" If this would overflow the range of values supported by `Self`, returns `None`."},{"DocComment":""},{"DocComment":" # Invariants"},{"DocComment":""},{"DocComment":" For any `a`, `n`, and `m`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == n.checked_add(m).and_then(|x| Step::backward_checked(a, x))`"},{"DocComment":" * `Step::backward_checked(a, n).and_then(|x| Step::backward_checked(x, m)) == try { Step::backward_checked(a, n.checked_add(m)?) }`"},{"DocComment":""},{"DocComment":" For any `a` and `n`:"},{"DocComment":""},{"DocComment":" * `Step::backward_checked(a, n) == (0..n).try_fold(a, |x, _| Step::backward_checked(x, 1))`"},{"DocComment":" * Corollary: `Step::backward_checked(a, 0) == Some(a)`"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140},{"Deduplicated":390}],"output":{"Deduplicated":8201}},"item":{"id":145,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8200}]}}},"kind":{"TraitMethod":[6,4]}},null,null],"vtable":null},{"def_id":7,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Ident":["Copy",0]}],"span":{"data":{"file_id":6,"beg":{"line":454,"col":0},"end":{"line":454,"col":21}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Types whose values can be duplicated simply by copying bits."},{"DocComment":""},{"DocComment":" By default, variable bindings have 'move semantics.' In other"},{"DocComment":" words:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" let x = Foo;"},{"DocComment":""},{"DocComment":" let y = x;"},{"DocComment":""},{"DocComment":" // `x` has moved into `y`, and so cannot be used"},{"DocComment":""},{"DocComment":" // println!(\"{x:?}\"); // error: use of moved value"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, if a type implements `Copy`, it instead has 'copy semantics':"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // We can derive a `Copy` implementation. `Clone` is also required, as it's"},{"DocComment":" // a supertrait of `Copy`."},{"DocComment":" #[derive(Debug, Copy, Clone)]"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" let x = Foo;"},{"DocComment":""},{"DocComment":" let y = x;"},{"DocComment":""},{"DocComment":" // `y` is a copy of `x`"},{"DocComment":""},{"DocComment":" println!(\"{x:?}\"); // A-OK!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It's important to note that in these two examples, the only difference is whether you"},{"DocComment":" are allowed to access `x` after the assignment. Under the hood, both a copy and a move"},{"DocComment":" can result in bits being copied in memory, although this is sometimes optimized away."},{"DocComment":""},{"DocComment":" ## How can I implement `Copy`?"},{"DocComment":""},{"DocComment":" There are two ways to implement `Copy` on your type. The simplest is to use `derive`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct MyStruct;"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You can also implement `Copy` and `Clone` manually:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct MyStruct;"},{"DocComment":""},{"DocComment":" impl Copy for MyStruct { }"},{"DocComment":""},{"DocComment":" impl Clone for MyStruct {"},{"DocComment":" fn clone(&self) -> MyStruct {"},{"DocComment":" *self"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" There is a small difference between the two. The `derive` strategy will also place a `Copy`"},{"DocComment":" bound on type parameters:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Clone)]"},{"DocComment":" struct MyStruct(T);"},{"DocComment":""},{"DocComment":" impl Copy for MyStruct { }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This isn't always desired. For example, shared references (`&T`) can be copied regardless of"},{"DocComment":" whether `T` is `Copy`. Likewise, a generic struct containing markers such as [`PhantomData`]"},{"DocComment":" could potentially be duplicated with a bit-wise copy."},{"DocComment":""},{"DocComment":" ## What's the difference between `Copy` and `Clone`?"},{"DocComment":""},{"DocComment":" Copies happen implicitly, for example as part of an assignment `y = x`. The behavior of"},{"DocComment":" `Copy` is not overloadable; it is always a simple bit-wise copy."},{"DocComment":""},{"DocComment":" Cloning is an explicit action, `x.clone()`. The implementation of [`Clone`] can"},{"DocComment":" provide any type-specific behavior necessary to duplicate values safely. For example,"},{"DocComment":" the implementation of [`Clone`] for [`String`] needs to copy the pointed-to string"},{"DocComment":" buffer in the heap. A simple bitwise copy of [`String`] values would merely copy the"},{"DocComment":" pointer, leading to a double free down the line. For this reason, [`String`] is [`Clone`]"},{"DocComment":" but not `Copy`."},{"DocComment":""},{"DocComment":" [`Clone`] is a supertrait of `Copy`, so everything which is `Copy` must also implement"},{"DocComment":" [`Clone`]. If a type is `Copy` then its [`Clone`] implementation only needs to return `*self`"},{"DocComment":" (see the example above)."},{"DocComment":""},{"DocComment":" ## When can my type be `Copy`?"},{"DocComment":""},{"DocComment":" A type can implement `Copy` if all of its components implement `Copy`. For example, this"},{"DocComment":" struct can be `Copy`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #[allow(dead_code)]"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Point {"},{"DocComment":" x: i32,"},{"DocComment":" y: i32,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" A struct can be `Copy`, and [`i32`] is `Copy`, therefore `Point` is eligible to be `Copy`."},{"DocComment":" By contrast, consider"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" # struct Point;"},{"DocComment":" struct PointList {"},{"DocComment":" points: Vec,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The struct `PointList` cannot implement `Copy`, because [`Vec`] is not `Copy`. If we"},{"DocComment":" attempt to derive a `Copy` implementation, we'll get an error:"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" the trait `Copy` cannot be implemented for this type; field `points` does not implement `Copy`"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Shared references (`&T`) are also `Copy`, so a type can be `Copy`, even when it holds"},{"DocComment":" shared references of types `T` that are *not* `Copy`. Consider the following struct,"},{"DocComment":" which can implement `Copy`, because it only holds a *shared reference* to our non-`Copy`"},{"DocComment":" type `PointList` from above:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(dead_code)]"},{"DocComment":" # struct PointList;"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct PointListWrapper<'a> {"},{"DocComment":" point_list_ref: &'a PointList,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## When *can't* my type be `Copy`?"},{"DocComment":""},{"DocComment":" Some types can't be copied safely. For example, copying `&mut T` would create an aliased"},{"DocComment":" mutable reference. Copying [`String`] would duplicate responsibility for managing the"},{"DocComment":" [`String`]'s buffer, leading to a double free."},{"DocComment":""},{"DocComment":" Generalizing the latter case, any type implementing [`Drop`] can't be `Copy`, because it's"},{"DocComment":" managing some resource besides its own [`size_of::`] bytes."},{"DocComment":""},{"DocComment":" If you try to implement `Copy` on a struct or enum containing non-`Copy` data, you will get"},{"DocComment":" the error [E0204]."},{"DocComment":""},{"DocComment":" [E0204]: ../../error_codes/E0204.html"},{"DocComment":""},{"DocComment":" ## When *should* my type be `Copy`?"},{"DocComment":""},{"DocComment":" Generally speaking, if your type _can_ implement `Copy`, it should. Keep in mind, though,"},{"DocComment":" that implementing `Copy` is part of the public API of your type. If the type might become"},{"DocComment":" non-`Copy` in the future, it could be prudent to omit the `Copy` implementation now, to"},{"DocComment":" avoid a breaking API change."},{"DocComment":""},{"DocComment":" ## Additional implementors"},{"DocComment":""},{"DocComment":" In addition to the [implementors listed below][impls],"},{"DocComment":" the following types also implement `Copy`:"},{"DocComment":""},{"DocComment":" * Function item types (i.e., the distinct types defined for each function)"},{"DocComment":" * Function pointer types (e.g., `fn() -> i32`)"},{"DocComment":" * Closure types, if they capture no value from the environment"},{"DocComment":" or if all such captured values implement `Copy` themselves."},{"DocComment":" Note that variables captured by shared reference always implement `Copy`"},{"DocComment":" (even if the referent doesn't),"},{"DocComment":" while variables captured by mutable reference never implement `Copy`."},{"DocComment":""},{"DocComment":" [`Vec`]: ../../std/vec/struct.Vec.html"},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`size_of::`]: size_of"},{"DocComment":" [impls]: #implementors"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"copy"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":6,"beg":{"line":454,"col":16},"end":{"line":454,"col":21}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":8,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialEq",0]}],"span":{"data":{"file_id":27,"beg":{"line":250,"col":0},"end":{"line":250,"col":65}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for comparisons using the equality operator."},{"DocComment":""},{"DocComment":" Implementing this trait for types provides the `==` and `!=` operators for"},{"DocComment":" those types."},{"DocComment":""},{"DocComment":" `x.eq(y)` can also be written `x == y`, and `x.ne(y)` can be written `x != y`."},{"DocComment":" We use the easier-to-read infix notation in the remainder of this documentation."},{"DocComment":""},{"DocComment":" This trait allows for comparisons using the equality operator, for types"},{"DocComment":" that do not have a full equivalence relation. For example, in floating point"},{"DocComment":" numbers `NaN != NaN`, so floating point types implement `PartialEq` but not"},{"DocComment":" [`trait@Eq`]. Formally speaking, when `Rhs == Self`, this trait corresponds"},{"DocComment":" to a [partial equivalence relation]."},{"DocComment":""},{"DocComment":" [partial equivalence relation]: https://en.wikipedia.org/wiki/Partial_equivalence_relation"},{"DocComment":""},{"DocComment":" Implementations must ensure that `eq` and `ne` are consistent with each other:"},{"DocComment":""},{"DocComment":" - `a != b` if and only if `!(a == b)`."},{"DocComment":""},{"DocComment":" The default implementation of `ne` provides this consistency and is almost"},{"DocComment":" always sufficient. It should not be overridden without very good reason."},{"DocComment":""},{"DocComment":" If [`PartialOrd`] or [`Ord`] are also implemented for `Self` and `Rhs`, their methods must also"},{"DocComment":" be consistent with `PartialEq` (see the documentation of those traits for the exact"},{"DocComment":" requirements). It's easy to accidentally make them disagree by deriving some of the traits and"},{"DocComment":" manually implementing others."},{"DocComment":""},{"DocComment":" The equality relation `==` must satisfy the following conditions"},{"DocComment":" (for all `a`, `b`, `c` of type `A`, `B`, `C`):"},{"DocComment":""},{"DocComment":" - **Symmetry**: if `A: PartialEq` and `B: PartialEq`, then **`a == b`"},{"DocComment":" implies `b == a`**; and"},{"DocComment":""},{"DocComment":" - **Transitivity**: if `A: PartialEq` and `B: PartialEq` and `A:"},{"DocComment":" PartialEq`, then **`a == b` and `b == c` implies `a == c`**."},{"DocComment":" This must also work for longer chains, such as when `A: PartialEq`, `B: PartialEq`,"},{"DocComment":" `C: PartialEq`, and `A: PartialEq` all exist."},{"DocComment":""},{"DocComment":" Note that the `B: PartialEq` (symmetric) and `A: PartialEq`"},{"DocComment":" (transitive) impls are not forced to exist, but these requirements apply"},{"DocComment":" whenever they do exist."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Cross-crate considerations"},{"DocComment":""},{"DocComment":" Upholding the requirements stated above can become tricky when one crate implements `PartialEq`"},{"DocComment":" for a type of another crate (i.e., to allow comparing one of its own types with a type from the"},{"DocComment":" standard library). The recommendation is to never implement this trait for a foreign type. In"},{"DocComment":" other words, such a crate should do `impl PartialEq for LocalType`, but it should"},{"DocComment":" *not* do `impl PartialEq for ForeignType`."},{"DocComment":""},{"DocComment":" This avoids the problem of transitive chains that criss-cross crate boundaries: for all local"},{"DocComment":" types `T`, you may assume that no other crate will add `impl`s that allow comparing `T == U`. In"},{"DocComment":" other words, if other crates add `impl`s that allow building longer transitive chains `U1 == ..."},{"DocComment":" == T == V1 == ...`, then all the types that appear to the right of `T` must be types that the"},{"DocComment":" crate defining `T` already knows about. This rules out transitive chains where downstream crates"},{"DocComment":" can add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate"},{"DocComment":" transitivity."},{"DocComment":""},{"DocComment":" Not having such foreign `impl`s also avoids forward compatibility issues where one crate adding"},{"DocComment":" more `PartialEq` implementations can cause build failures in downstream crates."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`. When `derive`d on structs, two"},{"DocComment":" instances are equal if all fields are equal, and not equal if any fields"},{"DocComment":" are not equal. When `derive`d on enums, two instances are equal if they"},{"DocComment":" are the same variant and all fields are equal."},{"DocComment":""},{"DocComment":" ## How can I implement `PartialEq`?"},{"DocComment":""},{"DocComment":" An example implementation for a domain in which two books are considered"},{"DocComment":" the same book if their ISBN matches, even if the formats differ:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.isbn == other.isbn"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let b1 = Book { isbn: 3, format: BookFormat::Paperback };"},{"DocComment":" let b2 = Book { isbn: 3, format: BookFormat::Ebook };"},{"DocComment":" let b3 = Book { isbn: 10, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == b2);"},{"DocComment":" assert!(b1 != b3);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I compare two different types?"},{"DocComment":""},{"DocComment":" The type you can compare with is controlled by `PartialEq`'s type parameter."},{"DocComment":" For example, let's tweak our previous code a bit:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // The derive implements == comparisons"},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Implement == comparisons"},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &BookFormat) -> bool {"},{"DocComment":" self.format == *other"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Implement == comparisons"},{"DocComment":" impl PartialEq for BookFormat {"},{"DocComment":" fn eq(&self, other: &Book) -> bool {"},{"DocComment":" *self == other.format"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let b1 = Book { isbn: 3, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == BookFormat::Paperback);"},{"DocComment":" assert!(BookFormat::Ebook != b1);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" By changing `impl PartialEq for Book` to `impl PartialEq for Book`,"},{"DocComment":" we allow `BookFormat`s to be compared with `Book`s."},{"DocComment":""},{"DocComment":" A comparison like the one above, which ignores some fields of the struct,"},{"DocComment":" can be dangerous. It can easily lead to an unintended violation of the"},{"DocComment":" requirements for a partial equivalence relation. For example, if we kept"},{"DocComment":" the above implementation of `PartialEq` for `BookFormat` and added an"},{"DocComment":" implementation of `PartialEq` for `Book` (either via a `#[derive]` or"},{"DocComment":" via the manual implementation from the first example) then the result would"},{"DocComment":" violate transitivity:"},{"DocComment":""},{"DocComment":" ```should_panic"},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" #[derive(PartialEq)]"},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &BookFormat) -> bool {"},{"DocComment":" self.format == *other"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for BookFormat {"},{"DocComment":" fn eq(&self, other: &Book) -> bool {"},{"DocComment":" *self == other.format"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let b1 = Book { isbn: 1, format: BookFormat::Paperback };"},{"DocComment":" let b2 = Book { isbn: 2, format: BookFormat::Paperback };"},{"DocComment":""},{"DocComment":" assert!(b1 == BookFormat::Paperback);"},{"DocComment":" assert!(BookFormat::Paperback == b2);"},{"DocComment":""},{"DocComment":" // The following should hold by transitivity but doesn't."},{"DocComment":" assert!(b1 == b2); // <-- PANICS"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: u32 = 0;"},{"DocComment":" let y: u32 = 1;"},{"DocComment":""},{"DocComment":" assert_eq!(x == y, false);"},{"DocComment":" assert_eq!(x.eq(&y), false);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`eq`]: PartialEq::eq"},{"DocComment":" [`ne`]: PartialEq::ne"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"eq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"eq","attr_info":{"attributes":[{"DocComment":" Tests for `self` and `other` values to be equal, and is used by `==`."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8183},{"HashConsedValue":[8202,{"Ref":[{"Var":{"Bound":[0,1]}},{"Deduplicated":8145},"Shared"]}]}],"output":{"Deduplicated":403}},"item":{"id":187,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8203,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[8,0]}},null],"vtable":{"id":{"Adt":50},"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["IntoIterator",0]}],"span":{"data":{"file_id":19,"beg":{"line":283,"col":0},"end":{"line":283,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conversion into an [`Iterator`]."},{"DocComment":""},{"DocComment":" By implementing `IntoIterator` for a type, you define how it will be"},{"DocComment":" converted to an iterator. This is common for types which describe a"},{"DocComment":" collection of some kind."},{"DocComment":""},{"DocComment":" One benefit of implementing `IntoIterator` is that your type will [work"},{"DocComment":" with Rust's `for` loop syntax](crate::iter#for-loops-and-intoiterator)."},{"DocComment":""},{"DocComment":" See also: [`FromIterator`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"},{"DocComment":" Implementing `IntoIterator` for your type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // and we'll implement IntoIterator"},{"DocComment":" impl IntoIterator for MyCollection {"},{"DocComment":" type Item = i32;"},{"DocComment":" type IntoIter = std::vec::IntoIter;"},{"DocComment":""},{"DocComment":" fn into_iter(self) -> Self::IntoIter {"},{"DocComment":" self.0.into_iter()"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Now we can make a new collection..."},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" // ... add some stuff to it ..."},{"DocComment":" c.add(0);"},{"DocComment":" c.add(1);"},{"DocComment":" c.add(2);"},{"DocComment":""},{"DocComment":" // ... and then turn it into an Iterator:"},{"DocComment":" for (i, n) in c.into_iter().enumerate() {"},{"DocComment":" assert_eq!(i as i32, n);"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" It is common to use `IntoIterator` as a trait bound. This allows"},{"DocComment":" the input collection type to change, so long as it is still an"},{"DocComment":" iterator. Additional bounds can be specified by restricting on"},{"DocComment":" `Item`:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" fn collect_as_strings(collection: T) -> Vec"},{"DocComment":" where"},{"DocComment":" T: IntoIterator,"},{"DocComment":" T::Item: std::fmt::Debug,"},{"DocComment":" {"},{"DocComment":" collection"},{"DocComment":" .into_iter()"},{"DocComment":" .map(|item| format!(\"{item:?}\"))"},{"DocComment":" .collect()"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"IntoIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Item"},{"index":2,"name":"Self_IntoIter"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":19,"beg":{"line":291,"col":19},"end":{"line":291,"col":46}},"generated_from_span":null},"origin":{"TraitItem":1},"trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8147},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null,null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"into_iter","attr_info":{"attributes":[{"DocComment":" Creates an iterator from a value."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let v = [1, 2, 3];"},{"DocComment":" let mut iter = v.into_iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(1), iter.next());"},{"DocComment":" assert_eq!(Some(2), iter.next());"},{"DocComment":" assert_eq!(Some(3), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140}],"output":{"Deduplicated":8147}},"item":{"id":195,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8204,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":{"Adt":53},"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["ZeroablePrimitive",0]}],"span":{"data":{"file_id":31,"beg":{"line":34,"col":0},"end":{"line":34,"col":66}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A marker trait for primitive types which can be zero."},{"DocComment":""},{"DocComment":" This is an implementation detail for [NonZero]\\ which may disappear or be replaced at any time."},{"DocComment":""},{"DocComment":" # Safety"},{"DocComment":""},{"DocComment":" Types implementing this trait must be primitives that are valid when zeroed."},{"DocComment":""},{"DocComment":" The associated `Self::NonZeroInner` type must have the same size+align as `Self`,"},{"DocComment":" but with a niche and bit validity making it so the following `transmutes` are sound:"},{"DocComment":""},{"DocComment":" - `Self::NonZeroInner` to `Option`"},{"DocComment":" - `Option` to `Self`"},{"DocComment":""},{"DocComment":" (And, consequently, `Self::NonZeroInner` to `Self`.)"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_NonZeroInner"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":31,"beg":{"line":34,"col":44},"end":{"line":34,"col":48}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":31,"beg":{"line":34,"col":51},"end":{"line":34,"col":66}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":2,"span":{"data":{"file_id":31,"beg":{"line":36,"col":31},"end":{"line":36,"col":35}},"generated_from_span":null},"origin":{"TraitItem":0},"trait_":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["Clone",0]}],"span":{"data":{"file_id":36,"beg":{"line":194,"col":0},"end":{"line":194,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" A common trait that allows explicit creation of a duplicate value."},{"DocComment":""},{"DocComment":" Calling [`clone`] always produces a new value."},{"DocComment":" However, for types that are references to other data (such as smart pointers or references),"},{"DocComment":" the new value may still point to the same underlying data, rather than duplicating it."},{"DocComment":" See [`Clone::clone`] for more details."},{"DocComment":""},{"DocComment":" This distinction is especially important when using `#[derive(Clone)]` on structs containing"},{"DocComment":" smart pointers like `Arc>` - the cloned struct will share mutable state with the"},{"DocComment":" original."},{"DocComment":""},{"DocComment":" Differs from [`Copy`] in that [`Copy`] is implicit and an inexpensive bit-wise copy, while"},{"DocComment":" `Clone` is always explicit and may or may not be expensive. [`Copy`] has no methods, so you"},{"DocComment":" cannot change its behavior, but when implementing `Clone`, the `clone` method you provide"},{"DocComment":" may run arbitrary code."},{"DocComment":""},{"DocComment":" Since `Clone` is a supertrait of [`Copy`], any type that implements `Copy` must also implement"},{"DocComment":" `Clone`."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]` if all fields are `Clone`. The `derive`d"},{"DocComment":" implementation of [`Clone`] calls [`clone`] on each field."},{"DocComment":""},{"DocComment":" [`clone`]: Clone::clone"},{"DocComment":""},{"DocComment":" For a generic struct, `#[derive]` implements `Clone` conditionally by adding bound `Clone` on"},{"DocComment":" generic parameters."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // `derive` implements Clone for Reading when T is Clone."},{"DocComment":" #[derive(Clone)]"},{"DocComment":" struct Reading {"},{"DocComment":" frequency: T,"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I implement `Clone`?"},{"DocComment":""},{"DocComment":" Types that are [`Copy`] should have a trivial implementation of `Clone`. More formally:"},{"DocComment":" if `T: Copy`, `x: T`, and `y: &T`, then `let x = y.clone();` is equivalent to `let x = *y;`."},{"DocComment":" Manual implementations should be careful to uphold this invariant; however, unsafe code"},{"DocComment":" must not rely on it to ensure memory safety."},{"DocComment":""},{"DocComment":" An example is a generic struct holding a function pointer. In this case, the"},{"DocComment":" implementation of `Clone` cannot be `derive`d, but can be implemented as:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" impl Copy for Generate {}"},{"DocComment":""},{"DocComment":" impl Clone for Generate {"},{"DocComment":" fn clone(&self) -> Self {"},{"DocComment":" *self"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If we `derive`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" the auto-derived implementations will have unnecessary `T: Copy` and `T: Clone` bounds:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" // Automatically derived"},{"DocComment":" impl Copy for Generate { }"},{"DocComment":""},{"DocComment":" // Automatically derived"},{"DocComment":" impl Clone for Generate {"},{"DocComment":" fn clone(&self) -> Generate {"},{"DocComment":" Generate(Clone::clone(&self.0))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The bounds are unnecessary because clearly the function itself should be"},{"DocComment":" copy- and cloneable even if its return type is not:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0599"},{"DocComment":" #[derive(Copy, Clone)]"},{"DocComment":" struct Generate(fn() -> T);"},{"DocComment":""},{"DocComment":" struct NotCloneable;"},{"DocComment":""},{"DocComment":" fn generate_not_cloneable() -> NotCloneable {"},{"DocComment":" NotCloneable"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" Generate(generate_not_cloneable).clone(); // error: trait bounds were not satisfied"},{"DocComment":" // Note: With the manual implementations the above line will compile."},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## `Clone` and `PartialEq`/`Eq`"},{"DocComment":" `Clone` is intended for the duplication of objects. Consequently, when implementing"},{"DocComment":" both `Clone` and [`PartialEq`], the following property is expected to hold:"},{"DocComment":" ```text"},{"DocComment":" x == x -> x.clone() == x"},{"DocComment":" ```"},{"DocComment":" In other words, if an object compares equal to itself,"},{"DocComment":" its clone must also compare equal to the original."},{"DocComment":""},{"DocComment":" For types that also implement [`Eq`] – for which `x == x` always holds –"},{"DocComment":" this implies that `x.clone() == x` must always be true."},{"DocComment":" Standard library collections such as"},{"DocComment":" [`HashMap`], [`HashSet`], [`BTreeMap`], [`BTreeSet`] and [`BinaryHeap`]"},{"DocComment":" rely on their keys respecting this property for correct behavior."},{"DocComment":" Furthermore, these collections require that cloning a key preserves the outcome of the"},{"DocComment":" [`Hash`] and [`Ord`] methods. Thankfully, this follows automatically from `x.clone() == x`"},{"DocComment":" if `Hash` and `Ord` are correctly implemented according to their own requirements."},{"DocComment":""},{"DocComment":" When deriving both `Clone` and [`PartialEq`] using `#[derive(Clone, PartialEq)]`"},{"DocComment":" or when additionally deriving [`Eq`] using `#[derive(Clone, PartialEq, Eq)]`,"},{"DocComment":" then this property is automatically upheld – provided that it is satisfied by"},{"DocComment":" the underlying types."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on this property"},{"DocComment":" being satisfied."},{"DocComment":""},{"DocComment":" ## Additional implementors"},{"DocComment":""},{"DocComment":" In addition to the [implementors listed below][impls],"},{"DocComment":" the following types also implement `Clone`:"},{"DocComment":""},{"DocComment":" * Function item types (i.e., the distinct types defined for each function)"},{"DocComment":" * Function pointer types (e.g., `fn() -> i32`)"},{"DocComment":" * Closure types, if they capture no value from the environment"},{"DocComment":" or if all such captured values implement `Clone` themselves."},{"DocComment":" Note that variables captured by shared reference always implement `Clone`"},{"DocComment":" (even if the referent doesn't),"},{"DocComment":" while variables captured by mutable reference never implement `Clone`."},{"DocComment":""},{"DocComment":" [`HashMap`]: ../../std/collections/struct.HashMap.html"},{"DocComment":" [`HashSet`]: ../../std/collections/struct.HashSet.html"},{"DocComment":" [`BTreeMap`]: ../../std/collections/struct.BTreeMap.html"},{"DocComment":" [`BTreeSet`]: ../../std/collections/struct.BTreeSet.html"},{"DocComment":" [`BinaryHeap`]: ../../std/collections/struct.BinaryHeap.html"},{"DocComment":" [impls]: #implementors"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"clone"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"clone","attr_info":{"attributes":[{"DocComment":" Returns a duplicate of the value."},{"DocComment":""},{"DocComment":" Note that what \"duplicate\" means varies by type:"},{"DocComment":" - For most types, this creates a deep, independent copy"},{"DocComment":" - For reference types like `&T`, this creates another reference to the same value"},{"DocComment":" - For smart pointers like [`Arc`] or [`Rc`], this increments the reference count"},{"DocComment":" but still points to the same underlying data"},{"DocComment":""},{"DocComment":" [`Arc`]: ../../std/sync/struct.Arc.html"},{"DocComment":" [`Rc`]: ../../std/rc/struct.Rc.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # #![allow(noop_method_call)]"},{"DocComment":" let hello = \"Hello\"; // &str implements Clone"},{"DocComment":""},{"DocComment":" assert_eq!(\"Hello\", hello.clone());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Example with a reference-counted type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::sync::{Arc, Mutex};"},{"DocComment":""},{"DocComment":" let data = Arc::new(Mutex::new(vec![1, 2, 3]));"},{"DocComment":" let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex"},{"DocComment":""},{"DocComment":" {"},{"DocComment":" let mut lock = data.lock().unwrap();"},{"DocComment":" lock.push(4);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Changes are visible through the clone because they share the same underlying data"},{"DocComment":" assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8183}],"output":{"Deduplicated":8140}},"item":{"id":167,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8205,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":12,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnMut",0]}],"span":{"data":{"file_id":38,"beg":{"line":163,"col":0},"end":{"line":163,"col":48}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The version of the call operator that takes a mutable receiver."},{"DocComment":""},{"DocComment":" Instances of `FnMut` can be called repeatedly and may mutate state."},{"DocComment":""},{"DocComment":" `FnMut` is implemented automatically by closures which take mutable"},{"DocComment":" references to captured variables, as well as all types that implement"},{"DocComment":" [`Fn`], e.g., (safe) [function pointers] (since `FnMut` is a supertrait of"},{"DocComment":" [`Fn`]). Additionally, for any type `F` that implements `FnMut`, `&mut F`"},{"DocComment":" implements `FnMut`, too."},{"DocComment":""},{"DocComment":" Since [`FnOnce`] is a supertrait of `FnMut`, any instance of `FnMut` can be"},{"DocComment":" used where a [`FnOnce`] is expected, and since [`Fn`] is a subtrait of"},{"DocComment":" `FnMut`, any instance of [`Fn`] can be used where `FnMut` is expected."},{"DocComment":""},{"DocComment":" Use `FnMut` as a bound when you want to accept a parameter of function-like"},{"DocComment":" type and need to call it repeatedly, while allowing it to mutate state."},{"DocComment":" If you don't want the parameter to mutate state, use [`Fn`] as a"},{"DocComment":" bound; if you don't need to call it repeatedly, use [`FnOnce`]."},{"DocComment":""},{"DocComment":" See the [chapter on closures in *The Rust Programming Language*][book] for"},{"DocComment":" some more information on this topic."},{"DocComment":""},{"DocComment":" Also of note is the special syntax for `Fn` traits (e.g."},{"DocComment":" `Fn(usize, bool) -> usize`). Those interested in the technical details of"},{"DocComment":" this can refer to [the relevant section in the *Rustonomicon*][nomicon]."},{"DocComment":""},{"DocComment":" [book]: ../../book/ch13-01-closures.html"},{"DocComment":" [function pointers]: fn"},{"DocComment":" [nomicon]: ../../nomicon/hrtb.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## Calling a mutably capturing closure"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let mut x = 5;"},{"DocComment":" {"},{"DocComment":" let mut square_x = || x *= x;"},{"DocComment":" square_x();"},{"DocComment":" }"},{"DocComment":" assert_eq!(x, 25);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Using a `FnMut` parameter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn do_twice(mut func: F)"},{"DocComment":" where F: FnMut()"},{"DocComment":" {"},{"DocComment":" func();"},{"DocComment":" func();"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut x: usize = 1;"},{"DocComment":" {"},{"DocComment":" let add_two_to_x = || x += 2;"},{"DocComment":" do_twice(add_two_to_x);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert_eq!(x, 5);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"fn_mut"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Self_Clause0_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":38,"beg":{"line":163,"col":36},"end":{"line":163,"col":48}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"call_mut","attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":8182},{"Deduplicated":8145}],"output":{"Deduplicated":8147}},"item":{"id":196,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8206,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[12,0]}}],"vtable":{"id":{"Adt":55},"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["function",0]},{"Ident":["FnOnce",0]}],"span":{"data":{"file_id":38,"beg":{"line":242,"col":0},"end":{"line":242,"col":35}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The version of the call operator that takes a by-value receiver."},{"DocComment":""},{"DocComment":" Instances of `FnOnce` can be called, but might not be callable multiple"},{"DocComment":" times. Because of this, if the only thing known about a type is that it"},{"DocComment":" implements `FnOnce`, it can only be called once."},{"DocComment":""},{"DocComment":" `FnOnce` is implemented automatically by closures that might consume captured"},{"DocComment":" variables, as well as all types that implement [`FnMut`], e.g., (safe)"},{"DocComment":" [function pointers] (since `FnOnce` is a supertrait of [`FnMut`])."},{"DocComment":""},{"DocComment":" Since both [`Fn`] and [`FnMut`] are subtraits of `FnOnce`, any instance of"},{"DocComment":" [`Fn`] or [`FnMut`] can be used where a `FnOnce` is expected."},{"DocComment":""},{"DocComment":" Use `FnOnce` as a bound when you want to accept a parameter of function-like"},{"DocComment":" type and only need to call it once. If you need to call the parameter"},{"DocComment":" repeatedly, use [`FnMut`] as a bound; if you also need it to not mutate"},{"DocComment":" state, use [`Fn`]."},{"DocComment":""},{"DocComment":" See the [chapter on closures in *The Rust Programming Language*][book] for"},{"DocComment":" some more information on this topic."},{"DocComment":""},{"DocComment":" Also of note is the special syntax for `Fn` traits (e.g."},{"DocComment":" `Fn(usize, bool) -> usize`). Those interested in the technical details of"},{"DocComment":" this can refer to [the relevant section in the *Rustonomicon*][nomicon]."},{"DocComment":""},{"DocComment":" [book]: ../../book/ch13-01-closures.html"},{"DocComment":" [function pointers]: fn"},{"DocComment":" [nomicon]: ../../nomicon/hrtb.html"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ## Using a `FnOnce` parameter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" fn consume_with_relish(func: F)"},{"DocComment":" where F: FnOnce() -> String"},{"DocComment":" {"},{"DocComment":" // `func` consumes its captured variables, so it cannot be run more"},{"DocComment":" // than once."},{"DocComment":" println!(\"Consumed: {}\", func());"},{"DocComment":""},{"DocComment":" println!(\"Delicious!\");"},{"DocComment":""},{"DocComment":" // Attempting to invoke `func()` again will throw a `use of moved"},{"DocComment":" // value` error for `func`."},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let x = String::from(\"x\");"},{"DocComment":" let consume_and_return_x = move || x;"},{"DocComment":" consume_with_relish(consume_and_return_x);"},{"DocComment":""},{"DocComment":" // `consume_and_return_x` can no longer be invoked at this point"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"fn_once"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Args"},{"index":2,"name":"Self_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"call_once","attr_info":{"attributes":[{"DocComment":" Performs the call operation."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":{"Other":"rust-call"},"inputs":[{"Deduplicated":8140},{"Deduplicated":8145}],"output":{"Deduplicated":8147}},"item":{"id":197,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8207,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":13,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[13,0]}}],"vtable":{"id":{"Adt":56},"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["FromIterator",0]}],"span":{"data":{"file_id":19,"beg":{"line":134,"col":0},"end":{"line":134,"col":32}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Conversion from an [`Iterator`]."},{"DocComment":""},{"DocComment":" By implementing `FromIterator` for a type, you define how it will be"},{"DocComment":" created from an iterator. This is common for types which describe a"},{"DocComment":" collection of some kind."},{"DocComment":""},{"DocComment":" If you want to create a collection from the contents of an iterator, the"},{"DocComment":" [`Iterator::collect()`] method is preferred. However, when you need to"},{"DocComment":" specify the container type, [`FromIterator::from_iter()`] can be more"},{"DocComment":" readable than using a turbofish (e.g. `::>()`). See the"},{"DocComment":" [`Iterator::collect()`] documentation for more examples of its use."},{"DocComment":""},{"DocComment":" See also: [`IntoIterator`]."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Using [`Iterator::collect()`] to implicitly use `FromIterator`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v: Vec = five_fives.collect();"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Using [`FromIterator::from_iter()`] as a more readable alternative to"},{"DocComment":" [`Iterator::collect()`]:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::collections::VecDeque;"},{"DocComment":" let first = (0..10).collect::>();"},{"DocComment":" let second = VecDeque::from_iter(0..10);"},{"DocComment":""},{"DocComment":" assert_eq!(first, second);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Implementing `FromIterator` for your type:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // and we'll implement FromIterator"},{"DocComment":" impl FromIterator for MyCollection {"},{"DocComment":" fn from_iter>(iter: I) -> Self {"},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" for i in iter {"},{"DocComment":" c.add(i);"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" c"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // Now we can make a new iterator..."},{"DocComment":" let iter = (0..5).into_iter();"},{"DocComment":""},{"DocComment":" // ... and make a MyCollection out of it"},{"DocComment":" let c = MyCollection::from_iter(iter);"},{"DocComment":""},{"DocComment":" assert_eq!(c.0, vec![0, 1, 2, 3, 4]);"},{"DocComment":""},{"DocComment":" // collect works too!"},{"DocComment":""},{"DocComment":" let iter = (0..5).into_iter();"},{"DocComment":" let c: MyCollection = iter.collect();"},{"DocComment":""},{"DocComment":" assert_eq!(c.0, vec![0, 1, 2, 3, 4]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"FromIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":19,"beg":{"line":152,"col":20},"end":{"line":152,"col":42}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"HashConsedValue":[1312,{"TypeVar":{"Bound":[1,0]}}]},{"Deduplicated":8145},{"HashConsedValue":[1317,{"TypeVar":{"Bound":[1,1]}}]}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_iter","attr_info":{"attributes":[{"DocComment":" Creates a value from an iterator."},{"DocComment":""},{"DocComment":" See the [module-level documentation] for more."},{"DocComment":""},{"DocComment":" [module-level documentation]: crate::iter"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let five_fives = std::iter::repeat(5).take(5);"},{"DocComment":""},{"DocComment":" let v = Vec::from_iter(five_fives);"},{"DocComment":""},{"DocComment":" assert_eq!(v, vec![5, 5, 5, 5, 5]);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1277}],"output":{"Deduplicated":8140}},"item":{"id":198,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":1277},{"HashConsedValue":[1319,{"TypeVar":{"Bound":[0,1]}}]}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8208,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[8209,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1312},{"Deduplicated":8145},{"Deduplicated":1317}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[14,0]}}],"vtable":null},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Try",0]}],"span":{"data":{"file_id":54,"beg":{"line":133,"col":0},"end":{"line":133,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The `?` operator and `try {}` blocks."},{"DocComment":""},{"DocComment":" `try_*` methods typically involve a type implementing this trait. For"},{"DocComment":" example, the closures passed to [`Iterator::try_fold`] and"},{"DocComment":" [`Iterator::try_for_each`] must return such a type."},{"DocComment":""},{"DocComment":" `Try` types are typically those containing two or more categories of values,"},{"DocComment":" some subset of which are so commonly handled via early returns that it's"},{"DocComment":" worth providing a terse (but still visible) syntax to make that easy."},{"DocComment":""},{"DocComment":" This is most often seen for error handling with [`Result`] and [`Option`]."},{"DocComment":" The quintessential implementation of this trait is on [`ControlFlow`]."},{"DocComment":""},{"DocComment":" # Using `Try` in Generic Code"},{"DocComment":""},{"DocComment":" `Iterator::try_fold` was stabilized to call back in Rust 1.27, but"},{"DocComment":" this trait is much newer. To illustrate the various associated types and"},{"DocComment":" methods, let's implement our own version."},{"DocComment":""},{"DocComment":" As a reminder, an infallible version of a fold looks something like this:"},{"DocComment":" ```"},{"DocComment":" fn simple_fold("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> A,"},{"DocComment":" ) -> A {"},{"DocComment":" for x in iter {"},{"DocComment":" accum = f(accum, x);"},{"DocComment":" }"},{"DocComment":" accum"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" So instead of `f` returning just an `A`, we'll need it to return some other"},{"DocComment":" type that produces an `A` in the \"don't short circuit\" path. Conveniently,"},{"DocComment":" that's also the type we need to return from the function."},{"DocComment":""},{"DocComment":" Let's add a new generic parameter `R` for that type, and bound it to the"},{"DocComment":" output type that we want:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::Try;"},{"DocComment":" fn simple_try_fold_1>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" todo!()"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If we get through the entire iterator, we need to wrap up the accumulator"},{"DocComment":" into the return type using [`Try::from_output`]:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::{ControlFlow, Try};"},{"DocComment":" fn simple_try_fold_2>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" let cf = f(accum, x).branch();"},{"DocComment":" match cf {"},{"DocComment":" ControlFlow::Continue(a) => accum = a,"},{"DocComment":" ControlFlow::Break(_) => todo!(),"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" We'll also need [`FromResidual::from_residual`] to turn the residual back"},{"DocComment":" into the original type. But because it's a supertrait of `Try`, we don't"},{"DocComment":" need to mention it in the bounds. All types which implement `Try` can be"},{"DocComment":" recreated from their corresponding residual, so we'll just call it:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::{ControlFlow, Try};"},{"DocComment":" pub fn simple_try_fold_3>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" let cf = f(accum, x).branch();"},{"DocComment":" match cf {"},{"DocComment":" ControlFlow::Continue(a) => accum = a,"},{"DocComment":" ControlFlow::Break(r) => return R::from_residual(r),"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" But this \"call `branch`, then `match` on it, and `return` if it was a"},{"DocComment":" `Break`\" is exactly what happens inside the `?` operator. So rather than"},{"DocComment":" do all this manually, we can just use `?` instead:"},{"DocComment":" ```"},{"DocComment":" # #![feature(try_trait_v2)]"},{"DocComment":" # use std::ops::Try;"},{"DocComment":" fn simple_try_fold>("},{"DocComment":" iter: impl Iterator,"},{"DocComment":" mut accum: A,"},{"DocComment":" mut f: impl FnMut(A, T) -> R,"},{"DocComment":" ) -> R {"},{"DocComment":" for x in iter {"},{"DocComment":" accum = f(accum, x)?;"},{"DocComment":" }"},{"DocComment":" R::from_output(accum)"},{"DocComment":" }"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Try"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":54,"beg":{"line":133,"col":21},"end":{"line":133,"col":41}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":30,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"HashConsedValue":[8211,{"TraitType":[{"HashConsedValue":[8210,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]},1,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":54,"beg":{"line":160,"col":19},"end":{"line":160,"col":41}},"generated_from_span":null},"origin":{"TraitItem":1},"trait_":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":8211},{"HashConsedValue":[8212,{"TraitType":[{"Deduplicated":8210},0,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]},{"HashConsedValue":[8213,{"TraitType":[{"Deduplicated":8210},2,{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}]}]}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Output","attr_info":{"attributes":[{"DocComment":" The type of the value produced by `?` when *not* short-circuiting."}],"inline":null,"rename":null,"public":false},"default":null,"implied_clauses":[]},"kind":{"TraitType":[15,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Residual","attr_info":{"attributes":[{"DocComment":" The type of the value passed to [`FromResidual::from_residual`]"},{"DocComment":" as part of `?` when short-circuiting."},{"DocComment":""},{"DocComment":" This represents the possible values of the `Self` type which are *not*"},{"DocComment":" represented by the `Output` type."},{"DocComment":""},{"DocComment":" # Note to Implementors"},{"DocComment":""},{"DocComment":" The choice of this type is critical to interconversion."},{"DocComment":" Unlike the `Output` type, which will often be a raw generic type,"},{"DocComment":" this type is typically a newtype of some sort to \"color\" the type"},{"DocComment":" so that it's distinguishable from the residuals of other types."},{"DocComment":""},{"DocComment":" This is why `Result::Residual` is not `E`, but `Result`."},{"DocComment":" That way it's distinct from `ControlFlow::Residual`, for example,"},{"DocComment":" and thus `?` on `ControlFlow` cannot be used in a method returning `Result`."},{"DocComment":""},{"DocComment":" If you're making a generic type `Foo` that implements `Try`,"},{"DocComment":" then typically you can use `Foo` as its `Residual`"},{"DocComment":" type: that type will have a \"hole\" in the correct place, and will maintain the"},{"DocComment":" \"foo-ness\" of the residual so other types need to opt-in to interconversion."}],"inline":null,"rename":null,"public":false},"default":null,"implied_clauses":[]},"kind":{"TraitType":[15,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"Self_Clause1_TryType","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"default":null,"implied_clauses":[]},"kind":{"TraitType":[15,2]}}],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_output","attr_info":{"attributes":[{"DocComment":" Constructs the type from its `Output` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method"},{"DocComment":" such that applying the `?` operator will get back the original value:"},{"DocComment":" `Try::from_output(x).branch() --> ControlFlow::Continue(x)`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::Try;"},{"DocComment":""},{"DocComment":" assert_eq!( as Try>::from_output(3), Ok(3));"},{"DocComment":" assert_eq!( as Try>::from_output(4), Some(4));"},{"DocComment":" assert_eq!("},{"DocComment":" as Try>::from_output(5),"},{"DocComment":" std::ops::ControlFlow::Continue(5),"},{"DocComment":" );"},{"DocComment":""},{"DocComment":" # fn make_question_mark_work() -> Option<()> {"},{"DocComment":" assert_eq!(Option::from_output(4)?, 4);"},{"DocComment":" # None }"},{"DocComment":" # make_question_mark_work();"},{"DocComment":""},{"DocComment":" // This is used, for example, on the accumulator in `try_fold`:"},{"DocComment":" let r = std::iter::empty().try_fold(4, |_, ()| -> Option<_> { unreachable!() });"},{"DocComment":" assert_eq!(r, Some(4));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8212}],"output":{"Deduplicated":8140}},"item":{"id":199,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8210}]}}},"kind":{"TraitMethod":[15,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"branch","attr_info":{"attributes":[{"DocComment":" Used in `?` to decide whether the operator should produce a value"},{"DocComment":" (because this returned [`ControlFlow::Continue`])"},{"DocComment":" or propagate a value back to the caller"},{"DocComment":" (because this returned [`ControlFlow::Break`])."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, Try};"},{"DocComment":""},{"DocComment":" assert_eq!(Ok::<_, String>(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(Err::(3).branch(), ControlFlow::Break(Err(3)));"},{"DocComment":""},{"DocComment":" assert_eq!(Some(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!(None::.branch(), ControlFlow::Break(None));"},{"DocComment":""},{"DocComment":" assert_eq!(ControlFlow::::Continue(3).branch(), ControlFlow::Continue(3));"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::Break(3).branch(),"},{"DocComment":" ControlFlow::Break(ControlFlow::Break(3)),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8140}],"output":{"HashConsedValue":[8214,{"Adt":{"id":{"Adt":57},"generics":{"regions":[],"types":[{"Deduplicated":8211},{"Deduplicated":8212}],"const_generics":[],"trait_refs":[]}}}]}},"item":{"id":200,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8210}]}}},"kind":{"TraitMethod":[15,1]}}],"vtable":null},{"def_id":16,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["Residual",0]}],"span":{"data":{"file_id":54,"beg":{"line":364,"col":0},"end":{"line":364,"col":34}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Allows retrieving the canonical type implementing [`Try`] that has this type"},{"DocComment":" as its residual and allows it to hold an `O` as its output."},{"DocComment":""},{"DocComment":" If you think of the `Try` trait as splitting a type into its [`Try::Output`]"},{"DocComment":" and [`Try::Residual`] components, this allows putting them back together."},{"DocComment":""},{"DocComment":" For example,"},{"DocComment":" `Result: Try>`,"},{"DocComment":" and in the other direction,"},{"DocComment":" ` as Residual>::TryType = Result`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"O"},{"index":2,"name":"Self_TryType"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[{"regions":[],"skip_binder":{"trait_ref":{"HashConsedValue":[8216,{"kind":{"ParentClause":[{"HashConsedValue":[8215,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":16,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]},0]},"trait_decl_ref":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]},"type_id":0,"ty":{"Deduplicated":8145}}},{"regions":[],"skip_binder":{"trait_ref":{"Deduplicated":8216},"type_id":1,"ty":{"Deduplicated":8140}}}]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":54,"beg":{"line":368,"col":18},"end":{"line":368,"col":58}},"generated_from_span":null},"origin":{"TraitItem":0},"trait_":{"regions":[],"skip_binder":{"id":15,"generics":{"regions":[],"types":[{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Ident":["Extend",0]}],"span":{"data":{"file_id":19,"beg":{"line":397,"col":0},"end":{"line":397,"col":19}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Extend a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" Iterators produce a series of values, and collections can also be thought"},{"DocComment":" of as a series of values. The `Extend` trait bridges this gap, allowing you"},{"DocComment":" to extend a collection by including the contents of that iterator. When"},{"DocComment":" extending a collection with an already existing key, that entry is updated"},{"DocComment":" or, in the case of collections that permit multiple entries with equal"},{"DocComment":" keys, that entry is inserted."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"The first three letters are: \");"},{"DocComment":""},{"DocComment":" message.extend(&['a', 'b', 'c']);"},{"DocComment":""},{"DocComment":" assert_eq!(\"abc\", &message[29..32]);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Implementing `Extend`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // A sample collection, that's just a wrapper over Vec"},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct MyCollection(Vec);"},{"DocComment":""},{"DocComment":" // Let's give it some methods so we can create one and add things"},{"DocComment":" // to it."},{"DocComment":" impl MyCollection {"},{"DocComment":" fn new() -> MyCollection {"},{"DocComment":" MyCollection(Vec::new())"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn add(&mut self, elem: i32) {"},{"DocComment":" self.0.push(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // since MyCollection has a list of i32s, we implement Extend for i32"},{"DocComment":" impl Extend for MyCollection {"},{"DocComment":""},{"DocComment":" // This is a bit simpler with the concrete type signature: we can call"},{"DocComment":" // extend on anything which can be turned into an Iterator which gives"},{"DocComment":" // us i32s. Because we need i32s to put into MyCollection."},{"DocComment":" fn extend>(&mut self, iter: T) {"},{"DocComment":""},{"DocComment":" // The implementation is very straightforward: loop through the"},{"DocComment":" // iterator, and add() each element to ourselves."},{"DocComment":" for elem in iter {"},{"DocComment":" self.add(elem);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut c = MyCollection::new();"},{"DocComment":""},{"DocComment":" c.add(5);"},{"DocComment":" c.add(6);"},{"DocComment":" c.add(7);"},{"DocComment":""},{"DocComment":" // let's extend our collection with three more numbers"},{"DocComment":" c.extend(vec![1, 2, 3]);"},{"DocComment":""},{"DocComment":" // we've added these elements onto the end"},{"DocComment":" assert_eq!(\"MyCollection([5, 6, 7, 1, 2, 3])\", format!(\"{c:?}\"));"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[{"index":0,"name":"T"},{"index":1,"name":"Clause0_IntoIter"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":19,"beg":{"line":416,"col":17},"end":{"line":416,"col":39}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":1312},{"Deduplicated":8145},{"Deduplicated":1317}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"extend","attr_info":{"attributes":[{"DocComment":" Extends a collection with the contents of an iterator."},{"DocComment":""},{"DocComment":" As this is the only required method for this trait, the [trait-level] docs"},{"DocComment":" contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: Extend"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // You can extend a String with some chars:"},{"DocComment":" let mut message = String::from(\"abc\");"},{"DocComment":""},{"DocComment":" message.extend(['d', 'e', 'f'].iter());"},{"DocComment":""},{"DocComment":" assert_eq!(\"abcdef\", &message);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182},{"Deduplicated":1277}],"output":{"Deduplicated":416}},"item":{"id":201,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":1277},{"Deduplicated":1319}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8217,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":17,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]},{"Deduplicated":8209}]}}},"kind":{"TraitMethod":[17,0]}},null,null,null],"vtable":null},{"def_id":18,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["double_ended",0]},{"Ident":["DoubleEndedIterator",0]}],"span":{"data":{"file_id":55,"beg":{"line":43,"col":0},"end":{"line":43,"col":53}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator able to yield elements from both ends."},{"DocComment":""},{"DocComment":" Something that implements `DoubleEndedIterator` has one extra capability"},{"DocComment":" over something that implements [`Iterator`]: the ability to also take"},{"DocComment":" `Item`s from the back, as well as the front."},{"DocComment":""},{"DocComment":" It is important to note that both back and forth work on the same range,"},{"DocComment":" and do not cross: iteration is over when they meet in the middle."},{"DocComment":""},{"DocComment":" In a similar fashion to the [`Iterator`] protocol, once a"},{"DocComment":" `DoubleEndedIterator` returns [`None`] from a [`next_back()`], calling it"},{"DocComment":" again may or may not ever return [`Some`] again. [`next()`] and"},{"DocComment":" [`next_back()`] are interchangeable for this purpose."},{"DocComment":""},{"DocComment":" [`next_back()`]: DoubleEndedIterator::next_back"},{"DocComment":" [`next()`]: Iterator::next"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"DoubleEndedIterator"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":55,"beg":{"line":43,"col":37},"end":{"line":43,"col":53}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"next_back","attr_info":{"attributes":[{"DocComment":" Removes and returns an element from the end of the iterator."},{"DocComment":""},{"DocComment":" Returns `None` when there are no more elements."},{"DocComment":""},{"DocComment":" The [trait-level] docs contain more details."},{"DocComment":""},{"DocComment":" [trait-level]: DoubleEndedIterator"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let numbers = vec![1, 2, 3, 4, 5, 6];"},{"DocComment":""},{"DocComment":" let mut iter = numbers.iter();"},{"DocComment":""},{"DocComment":" assert_eq!(Some(&1), iter.next());"},{"DocComment":" assert_eq!(Some(&6), iter.next_back());"},{"DocComment":" assert_eq!(Some(&5), iter.next_back());"},{"DocComment":" assert_eq!(Some(&2), iter.next());"},{"DocComment":" assert_eq!(Some(&3), iter.next());"},{"DocComment":" assert_eq!(Some(&4), iter.next());"},{"DocComment":" assert_eq!(None, iter.next());"},{"DocComment":" assert_eq!(None, iter.next_back());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Remarks"},{"DocComment":""},{"DocComment":" The elements yielded by `DoubleEndedIterator`'s methods may differ from"},{"DocComment":" the ones yielded by [`Iterator`]'s methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let vec = vec![(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b')];"},{"DocComment":" let uniq_by_fst_comp = || {"},{"DocComment":" let mut seen = std::collections::HashSet::new();"},{"DocComment":" vec.iter().copied().filter(move |x| seen.insert(x.0))"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" assert_eq!(uniq_by_fst_comp().last(), Some((2, 'a')));"},{"DocComment":" assert_eq!(uniq_by_fst_comp().next_back(), Some((2, 'b')));"},{"DocComment":""},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().fold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(1, 'a'), (2, 'a')]"},{"DocComment":" );"},{"DocComment":" assert_eq!("},{"DocComment":" uniq_by_fst_comp().rfold(vec![], |mut v, x| {v.push(x); v}),"},{"DocComment":" vec![(2, 'b'), (1, 'c')]"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182}],"output":{"Deduplicated":8197}},"item":{"id":205,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8218,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":18,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[18,0]}},null,null,null,null,null],"vtable":{"id":{"Adt":58},"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}},{"def_id":19,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["exact_size",0]},{"Ident":["ExactSizeIterator",0]}],"span":{"data":{"file_id":56,"beg":{"line":86,"col":0},"end":{"line":86,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" An iterator that knows its exact length."},{"DocComment":""},{"DocComment":" Many [`Iterator`]s don't know how many times they will iterate, but some do."},{"DocComment":" If an iterator knows how many times it can iterate, providing access to"},{"DocComment":" that information can be useful. For example, if you want to iterate"},{"DocComment":" backwards, a good start is to know where the end is."},{"DocComment":""},{"DocComment":" When implementing an `ExactSizeIterator`, you must also implement"},{"DocComment":" [`Iterator`]. When doing so, the implementation of [`Iterator::size_hint`]"},{"DocComment":" *must* return the exact size of the iterator."},{"DocComment":""},{"DocComment":" The [`len`] method has a default implementation, so you usually shouldn't"},{"DocComment":" implement it. However, you may be able to provide a more performant"},{"DocComment":" implementation than the default, so overriding it in this case makes sense."},{"DocComment":""},{"DocComment":" Note that this trait is a safe trait and as such does *not* and *cannot*"},{"DocComment":" guarantee that the returned length is correct. This means that `unsafe`"},{"DocComment":" code **must not** rely on the correctness of [`Iterator::size_hint`]. The"},{"DocComment":" unstable and unsafe [`TrustedLen`](super::marker::TrustedLen) trait gives"},{"DocComment":" this additional guarantee."},{"DocComment":""},{"DocComment":" [`len`]: ExactSizeIterator::len"},{"DocComment":""},{"DocComment":" # When *shouldn't* an adapter be `ExactSizeIterator`?"},{"DocComment":""},{"DocComment":" If an adapter makes an iterator *longer*, then it's usually incorrect for"},{"DocComment":" that adapter to implement `ExactSizeIterator`. The inner exact-sized"},{"DocComment":" iterator might already be `usize::MAX`-long, and thus the length of the"},{"DocComment":" longer adapted iterator would no longer be exactly representable in `usize`."},{"DocComment":""},{"DocComment":" This is why [`Chain`](crate::iter::Chain) isn't `ExactSizeIterator`,"},{"DocComment":" even when `A` and `B` are both `ExactSizeIterator`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" Basic usage:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" // a finite range knows exactly how many times it will iterate"},{"DocComment":" let five = 0..5;"},{"DocComment":""},{"DocComment":" assert_eq!(5, five.len());"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" In the [module-level docs], we implemented an [`Iterator`], `Counter`."},{"DocComment":" Let's implement `ExactSizeIterator` for it as well:"},{"DocComment":""},{"DocComment":" [module-level docs]: crate::iter"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" # struct Counter {"},{"DocComment":" # count: usize,"},{"DocComment":" # }"},{"DocComment":" # impl Counter {"},{"DocComment":" # fn new() -> Counter {"},{"DocComment":" # Counter { count: 0 }"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" # impl Iterator for Counter {"},{"DocComment":" # type Item = usize;"},{"DocComment":" # fn next(&mut self) -> Option {"},{"DocComment":" # self.count += 1;"},{"DocComment":" # if self.count < 6 {"},{"DocComment":" # Some(self.count)"},{"DocComment":" # } else {"},{"DocComment":" # None"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" # }"},{"DocComment":" impl ExactSizeIterator for Counter {"},{"DocComment":" // We can easily calculate the remaining number of iterations."},{"DocComment":" fn len(&self) -> usize {"},{"DocComment":" 5 - self.count"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // And now we can use it!"},{"DocComment":""},{"DocComment":" let mut counter = Counter::new();"},{"DocComment":""},{"DocComment":" assert_eq!(5, counter.len());"},{"DocComment":" let _ = counter.next();"},{"DocComment":" assert_eq!(4, counter.len());"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Self_Clause0_Item"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":56,"beg":{"line":86,"col":29},"end":{"line":86,"col":37}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[null,null],"vtable":{"id":{"Adt":59},"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}},{"def_id":20,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Ord",0]}],"span":{"data":{"file_id":27,"beg":{"line":982,"col":0},"end":{"line":982,"col":73}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for types that form a [total order](https://en.wikipedia.org/wiki/Total_order)."},{"DocComment":""},{"DocComment":" Implementations must be consistent with the [`PartialOrd`] implementation, and ensure `max`,"},{"DocComment":" `min`, and `clamp` are consistent with `cmp`:"},{"DocComment":""},{"DocComment":" - `partial_cmp(a, b) == Some(cmp(a, b))`."},{"DocComment":" - `max(a, b) == max_by(a, b, cmp)` (ensured by the default implementation)."},{"DocComment":" - `min(a, b) == min_by(a, b, cmp)` (ensured by the default implementation)."},{"DocComment":" - For `a.clamp(min, max)`, see the [method docs](#method.clamp) (ensured by the default"},{"DocComment":" implementation)."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Corollaries"},{"DocComment":""},{"DocComment":" From the above and the requirements of `PartialOrd`, it follows that for all `a`, `b` and `c`:"},{"DocComment":""},{"DocComment":" - exactly one of `a < b`, `a == b` or `a > b` is true; and"},{"DocComment":" - `<` is transitive: `a < b` and `b < c` implies `a < c`. The same must hold for both `==` and"},{"DocComment":" `>`."},{"DocComment":""},{"DocComment":" Mathematically speaking, the `<` operator defines a strict [weak order]. In cases where `==`"},{"DocComment":" conforms to mathematical equality, it also defines a strict [total order]."},{"DocComment":""},{"DocComment":" [weak order]: https://en.wikipedia.org/wiki/Weak_ordering"},{"DocComment":" [total order]: https://en.wikipedia.org/wiki/Total_order"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`."},{"DocComment":""},{"DocComment":" When `derive`d on structs, it will produce a"},{"DocComment":" [lexicographic](https://en.wikipedia.org/wiki/Lexicographic_order) ordering based on the"},{"DocComment":" top-to-bottom declaration order of the struct's members."},{"DocComment":""},{"DocComment":" When `derive`d on enums, variants are ordered primarily by their discriminants. Secondarily,"},{"DocComment":" they are ordered by their fields. By default, the discriminant is smallest for variants at the"},{"DocComment":" top, and largest for variants at the bottom. Here's an example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, Eq, PartialOrd, Ord)]"},{"DocComment":" enum E {"},{"DocComment":" Top,"},{"DocComment":" Bottom,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Top < E::Bottom);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, manually setting the discriminants can override this default behavior:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, Eq, PartialOrd, Ord)]"},{"DocComment":" enum E {"},{"DocComment":" Top = 2,"},{"DocComment":" Bottom = 1,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Bottom < E::Top);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Lexicographical comparison"},{"DocComment":""},{"DocComment":" Lexicographical comparison is an operation with the following properties:"},{"DocComment":" - Two sequences are compared element by element."},{"DocComment":" - The first mismatching element defines which sequence is lexicographically less or greater"},{"DocComment":" than the other."},{"DocComment":" - If one sequence is a prefix of another, the shorter sequence is lexicographically less than"},{"DocComment":" the other."},{"DocComment":" - If two sequences have equivalent elements and are of the same length, then the sequences are"},{"DocComment":" lexicographically equal."},{"DocComment":" - An empty sequence is lexicographically less than any non-empty sequence."},{"DocComment":" - Two empty sequences are lexicographically equal."},{"DocComment":""},{"DocComment":" ## How can I implement `Ord`?"},{"DocComment":""},{"DocComment":" `Ord` requires that the type also be [`PartialOrd`], [`PartialEq`], and [`Eq`]."},{"DocComment":""},{"DocComment":" Because `Ord` implies a stronger ordering relationship than [`PartialOrd`], and both `Ord` and"},{"DocComment":" [`PartialOrd`] must agree, you must choose how to implement `Ord` **first**. You can choose to"},{"DocComment":" derive it, or implement it manually. If you derive it, you should derive all four traits. If you"},{"DocComment":" implement it manually, you should manually implement all four traits, based on the"},{"DocComment":" implementation of `Ord`."},{"DocComment":""},{"DocComment":" Here's an example where you want to define the `Character` comparison by `health` and"},{"DocComment":" `experience` only, disregarding the field `mana`:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" mana: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> Ordering {"},{"DocComment":" self.experience"},{"DocComment":" .cmp(&other.experience)"},{"DocComment":" .then(self.health.cmp(&other.health))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.health == other.health && self.experience == other.experience"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" If all you need is to `slice::sort` a type by a field value, it can be simpler to use"},{"DocComment":" `slice::sort_by_key`."},{"DocComment":""},{"DocComment":" ## Examples of incorrect `Ord` implementations"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: f32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> std::cmp::Ordering {"},{"DocComment":" if self.health < other.health {"},{"DocComment":" Ordering::Less"},{"DocComment":" } else if self.health > other.health {"},{"DocComment":" Ordering::Greater"},{"DocComment":" } else {"},{"DocComment":" Ordering::Equal"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.health == other.health"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":""},{"DocComment":" let a = Character { health: 4.5 };"},{"DocComment":" let b = Character { health: f32::NAN };"},{"DocComment":""},{"DocComment":" // Mistake: floating-point values do not form a total order and using the built-in comparison"},{"DocComment":" // operands to implement `Ord` irregardless of that reality does not change it. Use"},{"DocComment":" // `f32::total_cmp` if you need a total order for floating-point values."},{"DocComment":""},{"DocComment":" // Reflexivity requirement of `Ord` is not given."},{"DocComment":" assert!(a == a);"},{"DocComment":" assert!(b != b);"},{"DocComment":""},{"DocComment":" // Antisymmetry requirement of `Ord` is not given. Only one of a < c and c < a is allowed to be"},{"DocComment":" // true, not both or neither."},{"DocComment":" assert_eq!((a < b) as u8 + (b < a) as u8, 0);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Character {"},{"DocComment":" fn cmp(&self, other: &Self) -> std::cmp::Ordering {"},{"DocComment":" if self.health < 50 {"},{"DocComment":" self.health.cmp(&other.health)"},{"DocComment":" } else {"},{"DocComment":" self.experience.cmp(&other.experience)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" // For performance reasons implementing `PartialEq` this way is not the idiomatic way, but it"},{"DocComment":" // ensures consistent behavior between `PartialEq`, `PartialOrd` and `Ord` in this example."},{"DocComment":" impl PartialEq for Character {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.cmp(other) == Ordering::Equal"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Character {}"},{"DocComment":""},{"DocComment":" let a = Character {"},{"DocComment":" health: 3,"},{"DocComment":" experience: 5,"},{"DocComment":" };"},{"DocComment":" let b = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 77,"},{"DocComment":" };"},{"DocComment":" let c = Character {"},{"DocComment":" health: 143,"},{"DocComment":" experience: 2,"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // Mistake: The implementation of `Ord` compares different fields depending on the value of"},{"DocComment":" // `self.health`, the resulting order is not total."},{"DocComment":""},{"DocComment":" // Transitivity requirement of `Ord` is not given. If a is smaller than b and b is smaller than"},{"DocComment":" // c, by transitive property a must also be smaller than c."},{"DocComment":" assert!(a < b && b < c && c < a);"},{"DocComment":""},{"DocComment":" // Antisymmetry requirement of `Ord` is not given. Only one of a < c and c < a is allowed to be"},{"DocComment":" // true, not both or neither."},{"DocComment":" assert_eq!((a < c) as u8 + (c < a) as u8, 2);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The documentation of [`PartialOrd`] contains further examples, for example it's wrong for"},{"DocComment":" [`PartialOrd`] and [`PartialEq`] to disagree."},{"DocComment":""},{"DocComment":" [`cmp`]: Ord::cmp"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Ord"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":27,"beg":{"line":982,"col":21},"end":{"line":982,"col":31}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":31,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":27,"beg":{"line":982,"col":34},"end":{"line":982,"col":58}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"cmp","attr_info":{"attributes":[{"DocComment":" This method returns an [`Ordering`] between `self` and `other`."},{"DocComment":""},{"DocComment":" By convention, `self.cmp(&other)` returns the ordering matching the expression"},{"DocComment":" `self other` if true."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" assert_eq!(5.cmp(&10), Ordering::Less);"},{"DocComment":" assert_eq!(10.cmp(&5), Ordering::Greater);"},{"DocComment":" assert_eq!(5.cmp(&5), Ordering::Equal);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8183},{"Deduplicated":8199}],"output":{"Deduplicated":4392}},"item":{"id":213,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8219,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":20,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[20,0]}},null,null,null],"vtable":null},{"def_id":21,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Sum",0]}],"span":{"data":{"file_id":62,"beg":{"line":18,"col":0},"end":{"line":18,"col":36}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait to represent types that can be created by summing up an iterator."},{"DocComment":""},{"DocComment":" This trait is used to implement [`Iterator::sum()`]. Types which implement"},{"DocComment":" this trait can be generated by using the [`sum()`] method on an iterator."},{"DocComment":" Like [`FromIterator`], this trait should rarely be called directly."},{"DocComment":""},{"DocComment":" [`sum()`]: Iterator::sum"},{"DocComment":" [`FromIterator`]: iter::FromIterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":62,"beg":{"line":22,"col":14},"end":{"line":22,"col":32}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1312},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"sum","attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by \"summing up\""},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1277}],"output":{"Deduplicated":8140}},"item":{"id":217,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":1277}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8220,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":21,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[8221,{"kind":{"Clause":{"Bound":[0,0]}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1312},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[21,0]}}],"vtable":null},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["accum",0]},{"Ident":["Product",0]}],"span":{"data":{"file_id":62,"beg":{"line":40,"col":0},"end":{"line":40,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait to represent types that can be created by multiplying elements of an"},{"DocComment":" iterator."},{"DocComment":""},{"DocComment":" This trait is used to implement [`Iterator::product()`]. Types which implement"},{"DocComment":" this trait can be generated by using the [`product()`] method on an iterator."},{"DocComment":" Like [`FromIterator`], this trait should rarely be called directly."},{"DocComment":""},{"DocComment":" [`product()`]: Iterator::product"},{"DocComment":" [`FromIterator`]: iter::FromIterator"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"A"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[{"index":0,"name":"I"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":62,"beg":{"line":44,"col":18},"end":{"line":44,"col":36}},"generated_from_span":null},"origin":"WhereClauseOnFn","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":1312},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"product","attr_info":{"attributes":[{"DocComment":" Takes an iterator and generates `Self` from the elements by multiplying"},{"DocComment":" the items."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":1277}],"output":{"Deduplicated":8140}},"item":{"id":218,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":1277}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8222,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":22,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]},{"Deduplicated":8221}]}}},"kind":{"TraitMethod":[22,0]}}],"vtable":null},{"def_id":23,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["PartialOrd",0]}],"span":{"data":{"file_id":27,"beg":{"line":1366,"col":0},"end":{"line":1367,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for types that form a [partial order](https://en.wikipedia.org/wiki/Partial_order)."},{"DocComment":""},{"DocComment":" The `lt`, `le`, `gt`, and `ge` methods of this trait can be called using the `<`, `<=`, `>`, and"},{"DocComment":" `>=` operators, respectively."},{"DocComment":""},{"DocComment":" This trait should **only** contain the comparison logic for a type **if one plans on only"},{"DocComment":" implementing `PartialOrd` but not [`Ord`]**. Otherwise the comparison logic should be in [`Ord`]"},{"DocComment":" and this trait implemented with `Some(self.cmp(other))`."},{"DocComment":""},{"DocComment":" The methods of this trait must be consistent with each other and with those of [`PartialEq`]."},{"DocComment":" The following conditions must hold:"},{"DocComment":""},{"DocComment":" 1. `a == b` if and only if `partial_cmp(a, b) == Some(Equal)`."},{"DocComment":" 2. `a < b` if and only if `partial_cmp(a, b) == Some(Less)`"},{"DocComment":" 3. `a > b` if and only if `partial_cmp(a, b) == Some(Greater)`"},{"DocComment":" 4. `a <= b` if and only if `a < b || a == b`"},{"DocComment":" 5. `a >= b` if and only if `a > b || a == b`"},{"DocComment":" 6. `a != b` if and only if `!(a == b)`."},{"DocComment":""},{"DocComment":" Conditions 2–5 above are ensured by the default implementation. Condition 6 is already ensured"},{"DocComment":" by [`PartialEq`]."},{"DocComment":""},{"DocComment":" If [`Ord`] is also implemented for `Self` and `Rhs`, it must also be consistent with"},{"DocComment":" `partial_cmp` (see the documentation of that trait for the exact requirements). It's easy to"},{"DocComment":" accidentally make them disagree by deriving some of the traits and manually implementing others."},{"DocComment":""},{"DocComment":" The comparison relations must satisfy the following conditions (for all `a`, `b`, `c` of type"},{"DocComment":" `A`, `B`, `C`):"},{"DocComment":""},{"DocComment":" - **Transitivity**: if `A: PartialOrd` and `B: PartialOrd` and `A: PartialOrd`, then `a"},{"DocComment":" < b` and `b < c` implies `a < c`. The same must hold for both `==` and `>`. This must also"},{"DocComment":" work for longer chains, such as when `A: PartialOrd`, `B: PartialOrd`, `C:"},{"DocComment":" PartialOrd`, and `A: PartialOrd` all exist."},{"DocComment":" - **Duality**: if `A: PartialOrd` and `B: PartialOrd`, then `a < b` if and only if `b >"},{"DocComment":" a`."},{"DocComment":""},{"DocComment":" Note that the `B: PartialOrd` (dual) and `A: PartialOrd` (transitive) impls are not forced"},{"DocComment":" to exist, but these requirements apply whenever they do exist."},{"DocComment":""},{"DocComment":" Violating these requirements is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" ## Cross-crate considerations"},{"DocComment":""},{"DocComment":" Upholding the requirements stated above can become tricky when one crate implements `PartialOrd`"},{"DocComment":" for a type of another crate (i.e., to allow comparing one of its own types with a type from the"},{"DocComment":" standard library). The recommendation is to never implement this trait for a foreign type. In"},{"DocComment":" other words, such a crate should do `impl PartialOrd for LocalType`, but it should"},{"DocComment":" *not* do `impl PartialOrd for ForeignType`."},{"DocComment":""},{"DocComment":" This avoids the problem of transitive chains that criss-cross crate boundaries: for all local"},{"DocComment":" types `T`, you may assume that no other crate will add `impl`s that allow comparing `T < U`. In"},{"DocComment":" other words, if other crates add `impl`s that allow building longer transitive chains `U1 < ..."},{"DocComment":" < T < V1 < ...`, then all the types that appear to the right of `T` must be types that the crate"},{"DocComment":" defining `T` already knows about. This rules out transitive chains where downstream crates can"},{"DocComment":" add new `impl`s that \"stitch together\" comparisons of foreign types in ways that violate"},{"DocComment":" transitivity."},{"DocComment":""},{"DocComment":" Not having such foreign `impl`s also avoids forward compatibility issues where one crate adding"},{"DocComment":" more `PartialOrd` implementations can cause build failures in downstream crates."},{"DocComment":""},{"DocComment":" ## Corollaries"},{"DocComment":""},{"DocComment":" The following corollaries follow from the above requirements:"},{"DocComment":""},{"DocComment":" - irreflexivity of `<` and `>`: `!(a < a)`, `!(a > a)`"},{"DocComment":" - transitivity of `>`: if `a > b` and `b > c` then `a > c`"},{"DocComment":" - duality of `partial_cmp`: `partial_cmp(a, b) == partial_cmp(b, a).map(Ordering::reverse)`"},{"DocComment":""},{"DocComment":" ## Strict and non-strict partial orders"},{"DocComment":""},{"DocComment":" The `<` and `>` operators behave according to a *strict* partial order. However, `<=` and `>=`"},{"DocComment":" do **not** behave according to a *non-strict* partial order. That is because mathematically, a"},{"DocComment":" non-strict partial order would require reflexivity, i.e. `a <= a` would need to be true for"},{"DocComment":" every `a`. This isn't always the case for types that implement `PartialOrd`, for example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let a = f64::NAN;"},{"DocComment":" assert_eq!(a <= a, false);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`."},{"DocComment":""},{"DocComment":" When `derive`d on structs, it will produce a"},{"DocComment":" [lexicographic](https://en.wikipedia.org/wiki/Lexicographic_order) ordering based on the"},{"DocComment":" top-to-bottom declaration order of the struct's members."},{"DocComment":""},{"DocComment":" When `derive`d on enums, variants are primarily ordered by their discriminants. Secondarily,"},{"DocComment":" they are ordered by their fields. By default, the discriminant is smallest for variants at the"},{"DocComment":" top, and largest for variants at the bottom. Here's an example:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, PartialOrd)]"},{"DocComment":" enum E {"},{"DocComment":" Top,"},{"DocComment":" Bottom,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Top < E::Bottom);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" However, manually setting the discriminants can override this default behavior:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #[derive(PartialEq, PartialOrd)]"},{"DocComment":" enum E {"},{"DocComment":" Top = 2,"},{"DocComment":" Bottom = 1,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" assert!(E::Bottom < E::Top);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## How can I implement `PartialOrd`?"},{"DocComment":""},{"DocComment":" `PartialOrd` only requires implementation of the [`partial_cmp`] method, with the others"},{"DocComment":" generated from default implementations."},{"DocComment":""},{"DocComment":" However it remains possible to implement the others separately for types which do not have a"},{"DocComment":" total order. For example, for floating point numbers, `NaN < 0 == false` and `NaN >= 0 == false`"},{"DocComment":" (cf. IEEE 754-2008 section 5.11)."},{"DocComment":""},{"DocComment":" `PartialOrd` requires your type to be [`PartialEq`]."},{"DocComment":""},{"DocComment":" If your type is [`Ord`], you can implement [`partial_cmp`] by using [`cmp`]:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" height: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Person {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.cmp(other))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Ord for Person {"},{"DocComment":" fn cmp(&self, other: &Self) -> Ordering {"},{"DocComment":" self.height.cmp(&other.height)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Person {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.height == other.height"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Person {}"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" You may also find it useful to use [`partial_cmp`] on your type's fields. Here is an example of"},{"DocComment":" `Person` types who have a floating-point `height` field that is the only field to be used for"},{"DocComment":" sorting:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" struct Person {"},{"DocComment":" id: u32,"},{"DocComment":" name: String,"},{"DocComment":" height: f64,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Person {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" self.height.partial_cmp(&other.height)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Person {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.height == other.height"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## Examples of incorrect `PartialOrd` implementations"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" #[derive(PartialEq, Debug)]"},{"DocComment":" struct Character {"},{"DocComment":" health: u32,"},{"DocComment":" experience: u32,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialOrd for Character {"},{"DocComment":" fn partial_cmp(&self, other: &Self) -> Option {"},{"DocComment":" Some(self.health.cmp(&other.health))"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let a = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 5,"},{"DocComment":" };"},{"DocComment":" let b = Character {"},{"DocComment":" health: 10,"},{"DocComment":" experience: 77,"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // Mistake: `PartialEq` and `PartialOrd` disagree with each other."},{"DocComment":""},{"DocComment":" assert_eq!(a.partial_cmp(&b).unwrap(), Ordering::Equal); // a == b according to `PartialOrd`."},{"DocComment":" assert_ne!(a, b); // a != b according to `PartialEq`."},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let x: u32 = 0;"},{"DocComment":" let y: u32 = 1;"},{"DocComment":""},{"DocComment":" assert_eq!(x < y, true);"},{"DocComment":" assert_eq!(x.lt(&y), true);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`partial_cmp`]: PartialOrd::partial_cmp"},{"DocComment":" [`cmp`]: Ord::cmp"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"partial_ord"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Rhs"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":27,"beg":{"line":1367,"col":4},"end":{"line":1367,"col":26}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"partial_cmp","attr_info":{"attributes":[{"DocComment":" This method returns an ordering between `self` and `other` values if one exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::cmp::Ordering;"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&2.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Less));"},{"DocComment":""},{"DocComment":" let result = 1.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Equal));"},{"DocComment":""},{"DocComment":" let result = 2.0.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, Some(Ordering::Greater));"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" When comparison is impossible:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let result = f64::NAN.partial_cmp(&1.0);"},{"DocComment":" assert_eq!(result, None);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8183},{"Deduplicated":8202}],"output":{"Deduplicated":4690}},"item":{"id":219,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8223,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[23,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":{"Adt":60},"generics":{"regions":[],"types":[{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}},{"def_id":24,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["adapters",0]},{"Ident":["zip",0]},{"Ident":["TrustedRandomAccessNoCoerce",0]}],"span":{"data":{"file_id":35,"beg":{"line":576,"col":0},"end":{"line":576,"col":51}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Like [`TrustedRandomAccess`] but without any of the requirements / guarantees around"},{"DocComment":" coercions to supertypes after `__iterator_get_unchecked` (they aren’t allowed here!), and"},{"DocComment":" without the requirement that subtypes / supertypes implement `TrustedRandomAccessNoCoerce`."},{"DocComment":""},{"DocComment":" This trait was created in PR #85874 to fix soundness issue #85873 without performance regressions."},{"DocComment":" It is subject to change as we might want to build a more generally useful (for performance"},{"DocComment":" optimizations) and more sophisticated trait or trait hierarchy that replaces or extends"},{"DocComment":" [`TrustedRandomAccess`] and `TrustedRandomAccessNoCoerce`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[{"name":"MAY_HAVE_SIDE_EFFECT","attr_info":{"attributes":[{"DocComment":" `true` if getting an iterator element may have side effects."},{"DocComment":" Remember to take inner iterators into account."}],"inline":null,"rename":null,"public":true},"ty":{"Deduplicated":403},"default":null}],"types":[],"methods":[null],"vtable":null},{"def_id":25,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["From",0]}],"span":{"data":{"file_id":25,"beg":{"line":587,"col":0},"end":{"line":587,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to do value-to-value conversions while consuming the input value. It is the reciprocal of"},{"DocComment":" [`Into`]."},{"DocComment":""},{"DocComment":" One should always prefer implementing `From` over [`Into`]"},{"DocComment":" because implementing `From` automatically provides one with an implementation of [`Into`]"},{"DocComment":" thanks to the blanket implementation in the standard library."},{"DocComment":""},{"DocComment":" Only implement [`Into`] when targeting a version prior to Rust 1.41 and converting to a type"},{"DocComment":" outside the current crate."},{"DocComment":" `From` was not able to do these types of conversions in earlier versions because of Rust's"},{"DocComment":" orphaning rules."},{"DocComment":" See [`Into`] for more details."},{"DocComment":""},{"DocComment":" Prefer using [`Into`] over [`From`] when specifying trait bounds on a generic function"},{"DocComment":" to ensure that types that only implement [`Into`] can be used as well."},{"DocComment":""},{"DocComment":" The `From` trait is also very useful when performing error handling. When constructing a function"},{"DocComment":" that is capable of failing, the return type will generally be of the form `Result`."},{"DocComment":" `From` simplifies error handling by allowing a function to return a single error type"},{"DocComment":" that encapsulates multiple error types. See the \"Examples\" section and [the book][book] for more"},{"DocComment":" details."},{"DocComment":""},{"DocComment":" **Note: This trait must not fail**. The `From` trait is intended for perfect conversions."},{"DocComment":" If the conversion can fail or is not perfect, use [`TryFrom`]."},{"DocComment":""},{"DocComment":" # Generic Implementations"},{"DocComment":""},{"DocComment":" - `From for U` implies [`Into`]` for T`"},{"DocComment":" - `From` is reflexive, which means that `From for T` is implemented"},{"DocComment":""},{"DocComment":" # When to implement `From`"},{"DocComment":""},{"DocComment":" While there's no technical restrictions on which conversions can be done using"},{"DocComment":" a `From` implementation, the general expectation is that the conversions"},{"DocComment":" should typically be restricted as follows:"},{"DocComment":""},{"DocComment":" * The conversion is *infallible*: if the conversion can fail, use [`TryFrom`]"},{"DocComment":" instead; don't provide a `From` impl that panics."},{"DocComment":""},{"DocComment":" * The conversion is *lossless*: semantically, it should not lose or discard"},{"DocComment":" information. For example, `i32: From` exists, where the original"},{"DocComment":" value can be recovered using `u16: TryFrom`. And `String: From<&str>`"},{"DocComment":" exists, where you can get something equivalent to the original value via"},{"DocComment":" `Deref`. But `From` cannot be used to convert from `u32` to `u16`, since"},{"DocComment":" that cannot succeed in a lossless way. (There's some wiggle room here for"},{"DocComment":" information not considered semantically relevant. For example,"},{"DocComment":" `Box<[T]>: From>` exists even though it might not preserve capacity,"},{"DocComment":" like how two vectors can be equal despite differing capacities.)"},{"DocComment":""},{"DocComment":" * The conversion is *value-preserving*: the conceptual kind and meaning of"},{"DocComment":" the resulting value is the same, even though the Rust type and technical"},{"DocComment":" representation might be different. For example `-1_i8 as u8` is *lossless*,"},{"DocComment":" since `as` casting back can recover the original value, but that conversion"},{"DocComment":" is *not* available via `From` because `-1` and `255` are different conceptual"},{"DocComment":" values (despite being identical bit patterns technically). But"},{"DocComment":" `f32: From` *is* available because `1_i16` and `1.0_f32` are conceptually"},{"DocComment":" the same real number (despite having very different bit patterns technically)."},{"DocComment":" `String: From` is available because they're both *text*, but"},{"DocComment":" `String: From` is *not* available, since `1` (a number) and `\"1\"`"},{"DocComment":" (text) are too different. (Converting values to text is instead covered"},{"DocComment":" by the [`Display`](crate::fmt::Display) trait.)"},{"DocComment":""},{"DocComment":" * The conversion is *obvious*: it's the only reasonable conversion between"},{"DocComment":" the two types. Otherwise it's better to have it be a named method or"},{"DocComment":" constructor, like how [`str::as_bytes`] is a method and how integers have"},{"DocComment":" methods like [`u32::from_ne_bytes`], [`u32::from_le_bytes`], and"},{"DocComment":" [`u32::from_be_bytes`], none of which are `From` implementations. Whereas"},{"DocComment":" there's only one reasonable way to wrap an [`Ipv6Addr`](crate::net::Ipv6Addr)"},{"DocComment":" into an [`IpAddr`](crate::net::IpAddr), thus `IpAddr: From` exists."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" [`String`] implements `From<&str>`:"},{"DocComment":""},{"DocComment":" An explicit conversion from a `&str` to a String is done as follows:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" let string = \"hello\".to_string();"},{"DocComment":" let other_string = String::from(\"hello\");"},{"DocComment":""},{"DocComment":" assert_eq!(string, other_string);"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" While performing error handling it is often useful to implement `From` for your own error type."},{"DocComment":" By converting underlying error types to our own custom error type that encapsulates the"},{"DocComment":" underlying error type, we can return a single error type without losing information on the"},{"DocComment":" underlying cause. The '?' operator automatically converts the underlying error type to our"},{"DocComment":" custom error type with `From::from`."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::fs;"},{"DocComment":" use std::io;"},{"DocComment":" use std::num;"},{"DocComment":""},{"DocComment":" enum CliError {"},{"DocComment":" IoError(io::Error),"},{"DocComment":" ParseError(num::ParseIntError),"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl From for CliError {"},{"DocComment":" fn from(error: io::Error) -> Self {"},{"DocComment":" CliError::IoError(error)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl From for CliError {"},{"DocComment":" fn from(error: num::ParseIntError) -> Self {"},{"DocComment":" CliError::ParseError(error)"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn open_and_parse_file(file_name: &str) -> Result {"},{"DocComment":" let mut contents = fs::read_to_string(&file_name)?;"},{"DocComment":" let num: i32 = contents.trim().parse()?;"},{"DocComment":" Ok(num)"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" [`String`]: ../../std/string/struct.String.html"},{"DocComment":" [`from`]: From::from"},{"DocComment":" [book]: ../../book/ch09-00-error-handling.html"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"From"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from","attr_info":{"attributes":[{"DocComment":" Converts to this type from the input type."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8145}],"output":{"Deduplicated":8140}},"item":{"id":239,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8224,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[25,0]}}],"vtable":null},{"def_id":26,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["drop",0]},{"Ident":["Drop",0]}],"span":{"data":{"file_id":63,"beg":{"line":209,"col":0},"end":{"line":209,"col":20}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Custom code within the destructor."},{"DocComment":""},{"DocComment":" When a value is no longer needed, Rust will run a \"destructor\" on that value."},{"DocComment":" The most common way that a value is no longer needed is when it goes out of"},{"DocComment":" scope. Destructors may still run in other circumstances, but we're going to"},{"DocComment":" focus on scope for the examples here. To learn about some of those other cases,"},{"DocComment":" please see [the reference] section on destructors."},{"DocComment":""},{"DocComment":" [the reference]: https://doc.rust-lang.org/reference/destructors.html"},{"DocComment":""},{"DocComment":" This destructor consists of two components:"},{"DocComment":" - A call to `Drop::drop` for that value, if this special `Drop` trait is implemented for its type."},{"DocComment":" - The automatically generated \"drop glue\" which recursively calls the destructors"},{"DocComment":" of all the fields of this value."},{"DocComment":""},{"DocComment":" As Rust automatically calls the destructors of all contained fields,"},{"DocComment":" you don't have to implement `Drop` in most cases. But there are some cases where"},{"DocComment":" it is useful, for example for types which directly manage a resource."},{"DocComment":" That resource may be memory, it may be a file descriptor, it may be a network socket."},{"DocComment":" Once a value of that type is no longer going to be used, it should \"clean up\" its"},{"DocComment":" resource by freeing the memory or closing the file or socket. This is"},{"DocComment":" the job of a destructor, and therefore the job of `Drop::drop`."},{"DocComment":""},{"DocComment":" ## Examples"},{"DocComment":""},{"DocComment":" To see destructors in action, let's take a look at the following program:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" struct HasDrop;"},{"DocComment":""},{"DocComment":" impl Drop for HasDrop {"},{"DocComment":" fn drop(&mut self) {"},{"DocComment":" println!(\"Dropping HasDrop!\");"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct HasTwoDrops {"},{"DocComment":" one: HasDrop,"},{"DocComment":" two: HasDrop,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Drop for HasTwoDrops {"},{"DocComment":" fn drop(&mut self) {"},{"DocComment":" println!(\"Dropping HasTwoDrops!\");"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let _x = HasTwoDrops { one: HasDrop, two: HasDrop };"},{"DocComment":" println!(\"Running!\");"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Rust will first call `Drop::drop` for `_x` and then for both `_x.one` and `_x.two`,"},{"DocComment":" meaning that running this will print"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" Running!"},{"DocComment":" Dropping HasTwoDrops!"},{"DocComment":" Dropping HasDrop!"},{"DocComment":" Dropping HasDrop!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Even if we remove the implementation of `Drop` for `HasTwoDrop`, the destructors of its fields are still called."},{"DocComment":" This would result in"},{"DocComment":""},{"DocComment":" ```test"},{"DocComment":" Running!"},{"DocComment":" Dropping HasDrop!"},{"DocComment":" Dropping HasDrop!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" ## You cannot call `Drop::drop` yourself"},{"DocComment":""},{"DocComment":" Because `Drop::drop` is used to clean up a value, it may be dangerous to use this value after"},{"DocComment":" the method has been called. As `Drop::drop` does not take ownership of its input,"},{"DocComment":" Rust prevents misuse by not allowing you to call `Drop::drop` directly."},{"DocComment":""},{"DocComment":" In other words, if you tried to explicitly call `Drop::drop` in the above example, you'd get a compiler error."},{"DocComment":""},{"DocComment":" If you'd like to explicitly call the destructor of a value, [`mem::drop`] can be used instead."},{"DocComment":""},{"DocComment":" [`mem::drop`]: drop"},{"DocComment":""},{"DocComment":" ## Drop order"},{"DocComment":""},{"DocComment":" Which of our two `HasDrop` drops first, though? For structs, it's the same"},{"DocComment":" order that they're declared: first `one`, then `two`. If you'd like to try"},{"DocComment":" this yourself, you can modify `HasDrop` above to contain some data, like an"},{"DocComment":" integer, and then use it in the `println!` inside of `Drop`. This behavior is"},{"DocComment":" guaranteed by the language."},{"DocComment":""},{"DocComment":" Unlike for structs, local variables are dropped in reverse order:"},{"DocComment":""},{"DocComment":" ```rust"},{"DocComment":" struct Foo;"},{"DocComment":""},{"DocComment":" impl Drop for Foo {"},{"DocComment":" fn drop(&mut self) {"},{"DocComment":" println!(\"Dropping Foo!\")"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Bar;"},{"DocComment":""},{"DocComment":" impl Drop for Bar {"},{"DocComment":" fn drop(&mut self) {"},{"DocComment":" println!(\"Dropping Bar!\")"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" let _foo = Foo;"},{"DocComment":" let _bar = Bar;"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" This will print"},{"DocComment":""},{"DocComment":" ```text"},{"DocComment":" Dropping Bar!"},{"DocComment":" Dropping Foo!"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" Please see [the reference] for the full rules."},{"DocComment":""},{"DocComment":" [the reference]: https://doc.rust-lang.org/reference/destructors.html"},{"DocComment":""},{"DocComment":" ## `Copy` and `Drop` are exclusive"},{"DocComment":""},{"DocComment":" You cannot implement both [`Copy`] and `Drop` on the same type. Types that"},{"DocComment":" are `Copy` get implicitly duplicated by the compiler, making it very"},{"DocComment":" hard to predict when, and how often destructors will be executed. As such,"},{"DocComment":" these types cannot have destructors."},{"DocComment":""},{"DocComment":" ## Drop check"},{"DocComment":""},{"DocComment":" Dropping interacts with the borrow checker in subtle ways: when a type `T` is being implicitly"},{"DocComment":" dropped as some variable of this type goes out of scope, the borrow checker needs to ensure that"},{"DocComment":" calling `T`'s destructor at this moment is safe. In particular, it also needs to be safe to"},{"DocComment":" recursively drop all the fields of `T`. For example, it is crucial that code like the following"},{"DocComment":" is being rejected:"},{"DocComment":""},{"DocComment":" ```compile_fail,E0597"},{"DocComment":" use std::cell::Cell;"},{"DocComment":""},{"DocComment":" struct S<'a>(Cell>>, Box);"},{"DocComment":" impl Drop for S<'_> {"},{"DocComment":" fn drop(&mut self) {"},{"DocComment":" if let Some(r) = self.0.get() {"},{"DocComment":" // Print the contents of the `Box` in `r`."},{"DocComment":" println!(\"{}\", r.1);"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" fn main() {"},{"DocComment":" // Set up two `S` that point to each other."},{"DocComment":" let s1 = S(Cell::new(None), Box::new(42));"},{"DocComment":" let s2 = S(Cell::new(Some(&s1)), Box::new(42));"},{"DocComment":" s1.0.set(Some(&s2));"},{"DocComment":" // Now they both get dropped. But whichever is the 2nd one"},{"DocComment":" // to be dropped will access the `Box` in the first one,"},{"DocComment":" // which is a use-after-free!"},{"DocComment":" }"},{"DocComment":" ```"},{"DocComment":""},{"DocComment":" The Nomicon discusses the need for [drop check in more detail][drop check]."},{"DocComment":""},{"DocComment":" To reject such code, the \"drop check\" analysis determines which types and lifetimes need to"},{"DocComment":" still be live when `T` gets dropped. The exact details of this analysis are not yet"},{"DocComment":" stably guaranteed and **subject to change**. Currently, the analysis works as follows:"},{"DocComment":" - If `T` has no drop glue, then trivially nothing is required to be live. This is the case if"},{"DocComment":" neither `T` nor any of its (recursive) fields have a destructor (`impl Drop`). [`PhantomData`],"},{"DocComment":" arrays of length 0 and [`ManuallyDrop`] are considered to never have a destructor, no matter"},{"DocComment":" their field type."},{"DocComment":" - If `T` has drop glue, then, for all types `U` that are *owned* by any field of `T`,"},{"DocComment":" recursively add the types and lifetimes that need to be live when `U` gets dropped. The set of"},{"DocComment":" owned types is determined by recursively traversing `T`:"},{"DocComment":" - Recursively descend through `PhantomData`, `Box`, tuples, and arrays (excluding arrays of"},{"DocComment":" length 0)."},{"DocComment":" - Stop at reference and raw pointer types as well as function pointers and function items;"},{"DocComment":" they do not own anything."},{"DocComment":" - Stop at non-composite types (type parameters that remain generic in the current context and"},{"DocComment":" base types such as integers and `bool`); these types are owned."},{"DocComment":" - When hitting an ADT with `impl Drop`, stop there; this type is owned."},{"DocComment":" - When hitting an ADT without `impl Drop`, recursively descend to its fields. (For an `enum`,"},{"DocComment":" consider all fields of all variants.)"},{"DocComment":" - Furthermore, if `T` implements `Drop`, then all generic (lifetime and type) parameters of `T`"},{"DocComment":" must be live."},{"DocComment":""},{"DocComment":" In the above example, the last clause implies that `'a` must be live when `S<'a>` is dropped,"},{"DocComment":" and hence the example is rejected. If we remove the `impl Drop`, the liveness requirement"},{"DocComment":" disappears and the example is accepted."},{"DocComment":""},{"DocComment":" There exists an unstable way for a type to opt-out of the last clause; this is called \"drop"},{"DocComment":" check eyepatch\" or `may_dangle`. For more details on this nightly-only feature, see the"},{"DocComment":" [discussion in the Nomicon][nomicon]."},{"DocComment":""},{"DocComment":" [`ManuallyDrop`]: crate::mem::ManuallyDrop"},{"DocComment":" [`PhantomData`]: crate::marker::PhantomData"},{"DocComment":" [drop check]: ../../nomicon/dropck.html"},{"DocComment":" [nomicon]: ../../nomicon/phantom-data.html#an-exception-the-special-case-of-the-standard-library-and-its-unstable-may_dangle"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"drop"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"drop","attr_info":{"attributes":[{"DocComment":" Executes the destructor for this type."},{"DocComment":""},{"DocComment":" This method is called implicitly when the value goes out of scope,"},{"DocComment":" and cannot be called explicitly (this is compiler error [E0040])."},{"DocComment":" However, the [`mem::drop`] function in the prelude can be"},{"DocComment":" used to call the argument's `Drop` implementation."},{"DocComment":""},{"DocComment":" When this method has been called, `self` has not yet been deallocated."},{"DocComment":" That only happens after the method is over."},{"DocComment":" If this wasn't the case, `self` would be a dangling reference."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" Implementations should generally avoid [`panic!`]ing, because `drop()` may itself be called"},{"DocComment":" during unwinding due to a panic, and if the `drop()` panics in that situation (a “double"},{"DocComment":" panic”), this will likely abort the program. It is possible to check [`panicking()`] first,"},{"DocComment":" which may be desirable for a `Drop` implementation that is reporting a bug of the kind"},{"DocComment":" “you didn't finish using this before it was dropped”; but most types should simply clean up"},{"DocComment":" their owned allocations or other resources and return normally from `drop()`, regardless of"},{"DocComment":" what state they are in."},{"DocComment":""},{"DocComment":" Note that even if this panics, the value is considered to be dropped;"},{"DocComment":" you must not cause `drop` to be called again. This is normally automatically"},{"DocComment":" handled by the compiler, but when using unsafe code, can sometimes occur"},{"DocComment":" unintentionally, particularly when using [`ptr::drop_in_place`]."},{"DocComment":""},{"DocComment":" [E0040]: ../../error_codes/E0040.html"},{"DocComment":" [`panic!`]: crate::panic!"},{"DocComment":" [`panicking()`]: ../../std/thread/fn.panicking.html"},{"DocComment":" [`mem::drop`]: drop"},{"DocComment":" [`ptr::drop_in_place`]: crate::ptr::drop_in_place"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182}],"output":{"Deduplicated":416}},"item":{"id":192,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8225,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":{"Adt":51},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":27,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["Zeroize",0]}],"span":{"data":{"file_id":65,"beg":{"line":245,"col":0},"end":{"line":245,"col":17}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for securely erasing values from memory."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"zeroize","attr_info":{"attributes":[{"DocComment":" Zero out this object from memory using Rust intrinsics which ensure the"},{"DocComment":" zeroization operation is not \"optimized away\" by the compiler."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182}],"output":{"Deduplicated":416}},"item":{"id":264,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8226,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":{"Adt":61},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["DefaultIsZeroes",0]}],"span":{"data":{"file_id":65,"beg":{"line":255,"col":0},"end":{"line":255,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Marker trait for types whose [`Default`] is the desired zeroization result"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":255,"col":27},"end":{"line":255,"col":31}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}},{"clause_id":1,"span":{"data":{"file_id":65,"beg":{"line":255,"col":34},"end":{"line":255,"col":41}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":29,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Ident":["private",0]},{"Ident":["Sealed",0]}],"span":{"data":{"file_id":31,"beg":{"line":47,"col":12},"end":{"line":47,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[],"vtable":{"id":{"Adt":62},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":30,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["try_trait",0]},{"Ident":["FromResidual",0]}],"span":{"data":{"file_id":54,"beg":{"line":310,"col":0},"end":{"line":310,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used to specify which residuals can be converted into which [`crate::ops::Try`] types."},{"DocComment":""},{"DocComment":" Every `Try` type needs to be recreatable from its own associated"},{"DocComment":" `Residual` type, but can also have additional `FromResidual` implementations"},{"DocComment":" to support interconversion with other `Try` types."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"FromResidual"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"R"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"from_residual","attr_info":{"attributes":[{"DocComment":" Constructs the type from a compatible `Residual` type."},{"DocComment":""},{"DocComment":" This should be implemented consistently with the `branch` method such"},{"DocComment":" that applying the `?` operator will get back an equivalent residual:"},{"DocComment":" `FromResidual::from_residual(r).branch() --> ControlFlow::Break(r)`."},{"DocComment":" (The residual is not mandated to be *identical* when interconversion is involved.)"},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" #![feature(try_trait_v2)]"},{"DocComment":" use std::ops::{ControlFlow, FromResidual};"},{"DocComment":""},{"DocComment":" assert_eq!(Result::::from_residual(Err(3_u8)), Err(3));"},{"DocComment":" assert_eq!(Option::::from_residual(None), None);"},{"DocComment":" assert_eq!("},{"DocComment":" ControlFlow::<_, String>::from_residual(ControlFlow::Break(5)),"},{"DocComment":" ControlFlow::Break(5),"},{"DocComment":" );"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8145}],"output":{"Deduplicated":8140}},"item":{"id":267,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8227,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":30,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[30,0]}}],"vtable":null},{"def_id":31,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["Eq",0]}],"span":{"data":{"file_id":27,"beg":{"line":338,"col":0},"end":{"line":338,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Trait for comparisons corresponding to [equivalence relations]("},{"DocComment":" https://en.wikipedia.org/wiki/Equivalence_relation)."},{"DocComment":""},{"DocComment":" The primary difference to [`PartialEq`] is the additional requirement for reflexivity. A type"},{"DocComment":" that implements [`PartialEq`] guarantees that for all `a`, `b` and `c`:"},{"DocComment":""},{"DocComment":" - symmetric: `a == b` implies `b == a`"},{"DocComment":" - transitive: `a == b` and `b == c` implies `a == c`"},{"DocComment":" - consistent: `a != b` if and only if `!(a == b)`"},{"DocComment":""},{"DocComment":" `Eq`, which builds on top of [`PartialEq`] also implies:"},{"DocComment":""},{"DocComment":" - reflexive: `a == a`"},{"DocComment":""},{"DocComment":" This property cannot be checked by the compiler, and therefore `Eq` is a trait without methods."},{"DocComment":""},{"DocComment":" Violating this property is a logic error. The behavior resulting from a logic error is not"},{"DocComment":" specified, but users of the trait must ensure that such logic errors do *not* result in"},{"DocComment":" undefined behavior. This means that `unsafe` code **must not** rely on the correctness of these"},{"DocComment":" methods."},{"DocComment":""},{"DocComment":" Floating point types such as [`f32`] and [`f64`] implement only [`PartialEq`] but *not* `Eq`"},{"DocComment":" because `NaN` != `NaN`."},{"DocComment":""},{"DocComment":" ## Derivable"},{"DocComment":""},{"DocComment":" This trait can be used with `#[derive]`. When `derive`d, because `Eq` has no extra methods, it"},{"DocComment":" is only informing the compiler that this is an equivalence relation rather than a partial"},{"DocComment":" equivalence relation. Note that the `derive` strategy requires all fields are `Eq`, which isn't"},{"DocComment":" always desired."},{"DocComment":""},{"DocComment":" ## How can I implement `Eq`?"},{"DocComment":""},{"DocComment":" If you cannot use the `derive` strategy, specify that your type implements `Eq`, which has no"},{"DocComment":" extra methods:"},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" enum BookFormat {"},{"DocComment":" Paperback,"},{"DocComment":" Hardback,"},{"DocComment":" Ebook,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Book {"},{"DocComment":" isbn: i32,"},{"DocComment":" format: BookFormat,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl PartialEq for Book {"},{"DocComment":" fn eq(&self, other: &Self) -> bool {"},{"DocComment":" self.isbn == other.isbn"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Eq for Book {}"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"Eq"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":27,"beg":{"line":338,"col":20},"end":{"line":338,"col":43}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[null,null],"vtable":null},{"def_id":32,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["ops",0]},{"Ident":["index",0]},{"Ident":["IndexMut",0]}],"span":{"data":{"file_id":8,"beg":{"line":170,"col":0},"end":{"line":170,"col":57}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Used for indexing operations (`container[index]`) in mutable contexts."},{"DocComment":""},{"DocComment":" `container[index]` is actually syntactic sugar for"},{"DocComment":" `*container.index_mut(index)`, but only when used as a mutable value. If"},{"DocComment":" an immutable value is requested, the [`Index`] trait is used instead. This"},{"DocComment":" allows nice things such as `v[index] = value`."},{"DocComment":""},{"DocComment":" # Examples"},{"DocComment":""},{"DocComment":" A very simple implementation of a `Balance` struct that has two sides, where"},{"DocComment":" each can be indexed mutably and immutably."},{"DocComment":""},{"DocComment":" ```"},{"DocComment":" use std::ops::{Index, IndexMut};"},{"DocComment":""},{"DocComment":" #[derive(Debug)]"},{"DocComment":" enum Side {"},{"DocComment":" Left,"},{"DocComment":" Right,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" #[derive(Debug, PartialEq)]"},{"DocComment":" enum Weight {"},{"DocComment":" Kilogram(f32),"},{"DocComment":" Pound(f32),"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" struct Balance {"},{"DocComment":" pub left: Weight,"},{"DocComment":" pub right: Weight,"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl Index for Balance {"},{"DocComment":" type Output = Weight;"},{"DocComment":""},{"DocComment":" fn index(&self, index: Side) -> &Self::Output {"},{"DocComment":" println!(\"Accessing {index:?}-side of balance immutably\");"},{"DocComment":" match index {"},{"DocComment":" Side::Left => &self.left,"},{"DocComment":" Side::Right => &self.right,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" impl IndexMut for Balance {"},{"DocComment":" fn index_mut(&mut self, index: Side) -> &mut Self::Output {"},{"DocComment":" println!(\"Accessing {index:?}-side of balance mutably\");"},{"DocComment":" match index {"},{"DocComment":" Side::Left => &mut self.left,"},{"DocComment":" Side::Right => &mut self.right,"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":" }"},{"DocComment":""},{"DocComment":" let mut balance = Balance {"},{"DocComment":" right: Weight::Kilogram(2.5),"},{"DocComment":" left: Weight::Pound(1.5),"},{"DocComment":" };"},{"DocComment":""},{"DocComment":" // In this case, `balance[Side::Right]` is sugar for"},{"DocComment":" // `*balance.index(Side::Right)`, since we are only *reading*"},{"DocComment":" // `balance[Side::Right]`, not writing it."},{"DocComment":" assert_eq!(balance[Side::Right], Weight::Kilogram(2.5));"},{"DocComment":""},{"DocComment":" // However, in this case `balance[Side::Left]` is sugar for"},{"DocComment":" // `*balance.index_mut(Side::Left)`, since we are writing"},{"DocComment":" // `balance[Side::Left]`."},{"DocComment":" balance[Side::Left] = Weight::Kilogram(3.0);"},{"DocComment":" ```"}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Foreign","lang_item":"index_mut"},"generics":{"regions":[],"types":[{"index":0,"name":"Self"},{"index":1,"name":"Idx"},{"index":2,"name":"Self_Clause0_Output"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[{"clause_id":0,"span":{"data":{"file_id":8,"beg":{"line":170,"col":39},"end":{"line":170,"col":57}},"generated_from_span":null},"origin":"WhereClauseOnTrait","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"index_mut","attr_info":{"attributes":[{"DocComment":" Performs the mutable indexing (`container[index]`) operation."},{"DocComment":""},{"DocComment":" # Panics"},{"DocComment":""},{"DocComment":" May panic if the index is out of bounds."}],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182},{"Deduplicated":8145}],"output":{"Deduplicated":8190}},"item":{"id":275,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8228,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[32,0]}}],"vtable":{"id":{"Adt":63},"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}},{"def_id":33,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Ident":["AssertZeroize",0]}],"span":{"data":{"file_id":65,"beg":{"line":841,"col":4},"end":{"line":841,"col":27}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Auto-deref workaround for deriving `ZeroizeOnDrop`."}],"inline":null,"rename":null,"public":true},"is_local":false,"opacity":"Opaque","lang_item":null},"generics":{"regions":[],"types":[{"index":0,"name":"Self"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_clauses":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"name":"zeroize_or_on_drop","attr_info":{"attributes":[],"inline":null,"rename":null,"public":true},"signature":{"is_unsafe":false,"abi":"Rust","inputs":[{"Deduplicated":8182}],"output":{"Deduplicated":416}},"item":{"id":284,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"HashConsedValue":[8229,{"kind":"SelfId","trait_decl_ref":{"regions":[],"skip_binder":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"kind":{"TraitMethod":[33,0]}}],"vtable":{"id":{"Adt":64},"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}}],"trait_impls":[{"def_id":0,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":0}}],"span":{"data":{"file_id":2,"beg":{"line":114,"col":16},"end":{"line":114,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":2,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":1,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Adrs",0]},{"Impl":{"Trait":1}}],"span":{"data":{"file_id":2,"beg":{"line":116,"col":0},"end":{"line":132,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct Adrs {\n pub(crate) f0: [u8; 4],\n // layer address\n pub(crate) f1: [u8; 4],\n // tree address\n pub(crate) f2: [u8; 4],\n // tree address\n pub(crate) f3: [u8; 4],\n // tree address\n pub(crate) f4: [u8; 4],\n // type\n pub(crate) f5: [u8; 4],\n // key pair address OR padding\n pub(crate) f6: [u8; 4],\n // chain address OR padding OR tree height\n pub(crate) f7: [u8; 4], // hash address OR padding OR tree index OR hash address = 0\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":13,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":2,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":2}}],"span":{"data":{"file_id":7,"beg":{"line":383,"col":0},"end":{"line":385,"col":26}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":385,"col":9},"end":{"line":385,"col":25}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":5,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8149}]}},"kind":{"TraitMethod":[1,0]}}],"vtable":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8149}]}}},{"def_id":3,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":3}}],"span":{"data":{"file_id":9,"beg":{"line":11,"col":0},"end":{"line":13,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":13,"col":7},"end":{"line":13,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8148},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":15,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8150}]}},"kind":{"TraitMethod":[1,0]}}],"vtable":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"Deduplicated":8150}]}}},{"def_id":4,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":4}}],"span":{"data":{"file_id":9,"beg":{"line":362,"col":0},"end":{"line":362,"col":58}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The methods `index` and `index_mut` panic if:"},{"DocComment":" - the start of the range is greater than the end of the range or"},{"DocComment":" - the end of the range is out of bounds."}],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":639},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8151,{"kind":{"TraitImpl":{"id":8,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":639}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":22,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":23,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":24,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":26,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":27,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,5]}}],"vtable":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}},{"def_id":5,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["ForsPk",0]},{"Impl":{"Trait":5}}],"span":{"data":{"file_id":2,"beg":{"line":60,"col":0},"end":{"line":62,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct ForsPk {\n pub(crate) key: [u8; N],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8152}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":51,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":6,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":6}}],"span":{"data":{"file_id":7,"beg":{"line":503,"col":8},"end":{"line":503,"col":52}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8153}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":503,"col":45},"end":{"line":503,"col":52}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":12,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8154}]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":7,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["default",0]},{"Impl":{"Trait":7}}],"span":{"data":{"file_id":14,"beg":{"line":154,"col":8},"end":{"line":154,"col":33}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":53,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[3,0]}}],"vtable":null},{"def_id":8,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":8}}],"span":{"data":{"file_id":9,"beg":{"line":114,"col":4},"end":{"line":114,"col":37}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":639}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":6,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":9,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["traits",0]},{"Ident":["collect",0]},{"Impl":{"Trait":9}}],"span":{"data":{"file_id":19,"beg":{"line":317,"col":0},"end":{"line":317,"col":50}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"I"},{"index":1,"name":"Clause0_Item"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":19,"beg":{"line":317,"col":14},"end":{"line":317,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":8155}],"consts":[],"types":[null,null],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"Deduplicated":8155}]}},"kind":{"TraitMethod":[9,0]}}],"vtable":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8155}]}}},{"def_id":10,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":10}}],"span":{"data":{"file_id":23,"beg":{"line":980,"col":0},"end":{"line":980,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":5,"generics":{"regions":[],"types":[{"Deduplicated":8156},{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"A"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":23,"beg":{"line":980,"col":8},"end":{"line":980,"col":12}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":30,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8157}]}},"kind":{"TraitMethod":[5,0]}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"vtable":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8157}]}}},{"def_id":11,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":11}}],"span":{"data":{"file_id":23,"beg":{"line":266,"col":12},"end":{"line":266,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[5096,{"kind":{"TraitImpl":{"id":26,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[8158,{"kind":{"TraitImpl":{"id":27,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":148,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[6,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":149,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[6,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":152,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[6,4]}},null,null],"vtable":null},{"def_id":12,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":12}}],"span":{"data":{"file_id":24,"beg":{"line":76,"col":8},"end":{"line":76,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":647},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":31,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[25,0]}}],"vtable":null},{"def_id":13,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":13}}],"span":{"data":{"file_id":9,"beg":{"line":502,"col":0},"end":{"line":502,"col":60}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The methods `index` and `index_mut` panic if the end of the range is out of bounds."}],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2153},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8159,{"kind":{"TraitImpl":{"id":28,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":2153}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":155,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":156,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":157,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":158,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":159,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":160,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,5]}}],"vtable":{"id":9,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}},{"def_id":14,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":14}}],"span":{"data":{"file_id":6,"beg":{"line":57,"col":25},"end":{"line":57,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":5198}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":15,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":15}}],"span":{"data":{"file_id":9,"beg":{"line":541,"col":0},"end":{"line":541,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" The methods `index` and `index_mut` panic if the start of the range is out of bounds."}],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":2166},{"Deduplicated":8148},{"Deduplicated":8148}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8160,{"kind":{"TraitImpl":{"id":30,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":2166}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":161,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,0]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":162,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,1]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":163,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,2]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":164,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,3]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":165,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,4]}},{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":166,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[2,5]}}],"vtable":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}},{"def_id":16,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":16}}],"span":{"data":{"file_id":2,"beg":{"line":114,"col":9},"end":{"line":114,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":37,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":17,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["iter",0]},{"Ident":["range",0]},{"Impl":{"Trait":17}}],"span":{"data":{"file_id":23,"beg":{"line":266,"col":12},"end":{"line":266,"col":43}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":6,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8161,{"kind":{"TraitImpl":{"id":33,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[8162,{"kind":{"TraitImpl":{"id":34,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":171,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[6,0]}},{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":172,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[6,1]}},null,null,{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":175,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[6,4]}},null,null],"vtable":null},{"def_id":18,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":18}}],"span":{"data":{"file_id":2,"beg":{"line":65,"col":9},"end":{"line":65,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8163}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":44,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":19,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["Auth",0]},{"Impl":{"Trait":19}}],"span":{"data":{"file_id":2,"beg":{"line":66,"col":0},"end":{"line":68,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct Auth {\n pub(crate) tree: [[u8; N]; A],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8163}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":180,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":20,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":20}}],"span":{"data":{"file_id":2,"beg":{"line":90,"col":9},"end":{"line":90,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8164}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":47,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":21,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["XmssSig",0]},{"Impl":{"Trait":21}}],"span":{"data":{"file_id":2,"beg":{"line":91,"col":0},"end":{"line":94,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct XmssSig {\n pub(crate) sig_wots: WotsSig,\n pub(crate) auth: [[u8; N]; HP],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8164}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":185,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":22,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Ident":["equality",0]},{"Impl":{"Trait":22}}],"span":{"data":{"file_id":26,"beg":{"line":5,"col":0},"end":{"line":7,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8165}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"U"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":26,"beg":{"line":7,"col":7},"end":{"line":7,"col":27}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":49,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8166}]}},"kind":{"TraitMethod":[8,0]}},null],"vtable":{"id":14,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8166}]}}},{"def_id":23,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":23}}],"span":{"data":{"file_id":27,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":293},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":189,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}},null],"vtable":{"id":15,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":24,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":24}}],"span":{"data":{"file_id":2,"beg":{"line":114,"col":34},"end":{"line":114,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":508}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":54,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":16,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":25,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":25}}],"span":{"data":{"file_id":31,"beg":{"line":63,"col":12},"end":{"line":63,"col":56}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":10,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":5787}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8167,{"kind":{"TraitImpl":{"id":43,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[8168,{"kind":{"TraitImpl":{"id":44,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]},{"HashConsedValue":[8169,{"kind":{"TraitImpl":{"id":45,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":5787}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[null],"methods":[],"vtable":null},{"def_id":26,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":26}}],"span":{"data":{"file_id":36,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":229,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":27,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":27}}],"span":{"data":{"file_id":27,"beg":{"line":1997,"col":12},"end":{"line":1997,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8170,{"kind":{"TraitImpl":{"id":46,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":230,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[23,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":17,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":28,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":28}}],"span":{"data":{"file_id":9,"beg":{"line":116,"col":4},"end":{"line":116,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":2153}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":18,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":29,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":29}}],"span":{"data":{"file_id":36,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":240,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":30,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Ident":["private_slice_index",0]},{"Impl":{"Trait":30}}],"span":{"data":{"file_id":9,"beg":{"line":118,"col":4},"end":{"line":118,"col":41}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":4,"generics":{"regions":[],"types":[{"Deduplicated":2166}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":19,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":31,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":31}}],"span":{"data":{"file_id":7,"beg":{"line":447,"col":0},"end":{"line":447,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8146}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":447,"col":8},"end":{"line":447,"col":13}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":169,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8171}]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":32,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["convert",0]},{"Ident":["num",0]},{"Impl":{"Trait":32}}],"span":{"data":{"file_id":24,"beg":{"line":76,"col":8},"end":{"line":76,"col":42}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":25,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":170,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[25,0]}}],"vtable":null},{"def_id":33,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["clone",0]},{"Ident":["impls",0]},{"Impl":{"Trait":33}}],"span":{"data":{"file_id":36,"beg":{"line":696,"col":16},"end":{"line":696,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":243,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":34,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":34}}],"span":{"data":{"file_id":27,"beg":{"line":1997,"col":12},"end":{"line":1997,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":23,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8172,{"kind":{"TraitImpl":{"id":47,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":244,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[23,0]}},null,null,null,null,null,null,null,null],"vtable":{"id":20,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":35,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":35}}],"span":{"data":{"file_id":2,"beg":{"line":79,"col":9},"end":{"line":79,"col":14}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":181,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":36,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsSig",0]},{"Impl":{"Trait":36}}],"span":{"data":{"file_id":2,"beg":{"line":80,"col":0},"end":{"line":82,"col":1}},"generated_from_span":null},"source_text":"pub(crate) struct WotsSig {\n pub(crate) data: [[u8; N]; LEN],\n}","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":254,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":37,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Ident":["WotsPk",0]},{"Impl":{"Trait":37}}],"span":{"data":{"file_id":2,"beg":{"line":86,"col":0},"end":{"line":86,"col":61}},"generated_from_span":null},"source_text":"pub(crate) struct WotsPk(pub(crate) [u8; N]);","attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":0,"generics":{"regions":[],"types":[{"Deduplicated":8174}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":261,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[0,0]}}],"vtable":null},{"def_id":38,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":38}}],"span":{"data":{"file_id":2,"beg":{"line":59,"col":25},"end":{"line":59,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8152}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":191,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":25,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},{"def_id":39,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Ident":["__internal",0]},{"Impl":{"Trait":39}}],"span":{"data":{"file_id":65,"beg":{"line":845,"col":4},"end":{"line":845,"col":49}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Opaque","lang_item":null},"impl_trait":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":845,"col":12},"end":{"line":845,"col":19}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":194,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8175}]}},"kind":{"TraitMethod":[33,0]}}],"vtable":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8175}]}}},{"def_id":40,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Impl":{"Trait":40}}],"span":{"data":{"file_id":65,"beg":{"line":342,"col":0},"end":{"line":344,"col":15}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[{"DocComment":" Impl [`Zeroize`] on arrays of types that impl [`Zeroize`]."}],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Opaque","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8146}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"Z"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":344,"col":7},"end":{"line":344,"col":14}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":265,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8175}]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8175}]}}},{"def_id":41,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Impl":{"Trait":41}}],"span":{"data":{"file_id":65,"beg":{"line":270,"col":0},"end":{"line":272,"col":23}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Opaque","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"Z"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":65,"beg":{"line":272,"col":7},"end":{"line":272,"col":22}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":266,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8176}]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":8140}],"const_generics":[],"trait_refs":[{"Deduplicated":8176}]}}},{"def_id":42,"item_meta":{"name":[{"Ident":["zeroize",0]},{"Impl":{"Trait":42}}],"span":{"data":{"file_id":65,"beg":{"line":282,"col":10},"end":{"line":282,"col":40}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Opaque","lang_item":null},"impl_trait":{"id":28,"generics":{"regions":[],"types":[{"Deduplicated":293}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":2227},{"Deduplicated":1308}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":43,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["marker",0]},{"Impl":{"Trait":43}}],"span":{"data":{"file_id":6,"beg":{"line":57,"col":25},"end":{"line":57,"col":62}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"Deduplicated":5096}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":44,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["nonzero",0]},{"Impl":{"Trait":44}}],"span":{"data":{"file_id":31,"beg":{"line":56,"col":12},"end":{"line":56,"col":47}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":29,"generics":{"regions":[],"types":[{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[],"vtable":{"id":29,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":45,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":45}}],"span":{"data":{"file_id":66,"beg":{"line":17,"col":24},"end":{"line":17,"col":28}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":7,"generics":{"regions":[],"types":[{"Deduplicated":5787}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8177,{"kind":{"TraitImpl":{"id":52,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":5787}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[],"vtable":null},{"def_id":46,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":46}}],"span":{"data":{"file_id":27,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":390},{"Deduplicated":390}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":270,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}},null],"vtable":{"id":30,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":47,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["cmp",0]},{"Ident":["impls",0]},{"Impl":{"Trait":47}}],"span":{"data":{"file_id":27,"beg":{"line":1876,"col":12},"end":{"line":1876,"col":39}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":8,"generics":{"regions":[],"types":[{"Deduplicated":490},{"Deduplicated":490}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"},{"index":1,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":272,"generics":{"regions":[{"Var":{"Bound":[0,0]}},{"Var":{"Bound":[0,1]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[8,0]}},null],"vtable":{"id":31,"generics":{"regions":[],"types":[],"const_generics":[],"trait_refs":[]}}},{"def_id":48,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":48}}],"span":{"data":{"file_id":2,"beg":{"line":65,"col":32},"end":{"line":65,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8163}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"A","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":253,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":32,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},{"def_id":49,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["array",0]},{"Impl":{"Trait":49}}],"span":{"data":{"file_id":7,"beg":{"line":397,"col":0},"end":{"line":399,"col":29}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Clause0_Output"}],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":7,"beg":{"line":399,"col":9},"end":{"line":399,"col":28}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8180,{"kind":{"TraitImpl":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"HashConsedValue":[8179,{"kind":{"ParentClause":[{"Deduplicated":8178},0]},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8146},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":256,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8178}]}},"kind":{"TraitMethod":[32,0]}}],"vtable":{"id":33,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[{"Deduplicated":8178}]}}},{"def_id":50,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["slice",0]},{"Ident":["index",0]},{"Impl":{"Trait":50}}],"span":{"data":{"file_id":9,"beg":{"line":25,"col":0},"end":{"line":27,"col":31}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":32,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[{"index":0,"name":"T"},{"index":1,"name":"I"},{"index":2,"name":"Clause0_Output"}],"const_generics":[],"trait_clauses":[{"clause_id":0,"span":{"data":{"file_id":9,"beg":{"line":27,"col":7},"end":{"line":27,"col":30}},"generated_from_span":null},"origin":"WhereClauseOnImpl","trait_":{"regions":[],"skip_binder":{"id":2,"generics":{"regions":[],"types":[{"Deduplicated":8145},{"Deduplicated":8148},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[{"HashConsedValue":[8181,{"kind":{"TraitImpl":{"id":3,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8150}]}}},"trait_decl_ref":{"regions":[],"skip_binder":{"id":1,"generics":{"regions":[],"types":[{"Deduplicated":8148},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[]}}}}]}],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":276,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[{"Deduplicated":8140},{"Deduplicated":8145},{"Deduplicated":8147}],"const_generics":[],"trait_refs":[{"Deduplicated":8150}]}},"kind":{"TraitMethod":[32,0]}}],"vtable":{"id":34,"generics":{"regions":[],"types":[{"Deduplicated":8140},{"Deduplicated":8145}],"const_generics":[],"trait_refs":[{"Deduplicated":8150}]}}},{"def_id":51,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":51}}],"span":{"data":{"file_id":2,"beg":{"line":90,"col":32},"end":{"line":90,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8164}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"HP","ty":{"Deduplicated":390}},{"index":1,"name":"LEN","ty":{"Deduplicated":390}},{"index":2,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":263,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":37,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":2}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},{"def_id":52,"item_meta":{"name":[{"Ident":["core",0]},{"Ident":["num",0]},{"Ident":["niche_types",0]},{"Impl":{"Trait":52}}],"span":{"data":{"file_id":66,"beg":{"line":17,"col":17},"end":{"line":17,"col":22}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":false,"opacity":"Foreign","lang_item":null},"impl_trait":{"id":11,"generics":{"regions":[],"types":[{"Deduplicated":5787}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":285,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[],"trait_refs":[]}},"kind":{"TraitMethod":[11,0]}},null],"vtable":null},{"def_id":53,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":53}}],"span":{"data":{"file_id":2,"beg":{"line":79,"col":32},"end":{"line":79,"col":45}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":274,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":38,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},{"def_id":54,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":54}}],"span":{"data":{"file_id":2,"beg":{"line":85,"col":25},"end":{"line":85,"col":38}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":26,"generics":{"regions":[],"types":[{"Deduplicated":8174}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":283,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[26,0]}},null],"vtable":{"id":39,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}},{"def_id":55,"item_meta":{"name":[{"Ident":["fips205",0]},{"Ident":["types",0]},{"Impl":{"Trait":55}}],"span":{"data":{"file_id":2,"beg":{"line":79,"col":23},"end":{"line":79,"col":30}},"generated_from_span":null},"source_text":null,"attr_info":{"attributes":[],"inline":null,"rename":null,"public":false},"is_local":true,"opacity":"Transparent","lang_item":null},"impl_trait":{"id":27,"generics":{"regions":[],"types":[{"Deduplicated":8173}],"const_generics":[],"trait_refs":[]}},"generics":{"regions":[],"types":[],"const_generics":[{"index":0,"name":"LEN","ty":{"Deduplicated":390}},{"index":1,"name":"N","ty":{"Deduplicated":390}}],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"implied_trait_refs":[],"consts":[],"types":[],"methods":[{"params":{"regions":[{"index":0,"name":null,"mutability":"Unknown"}],"types":[],"const_generics":[],"trait_clauses":[],"regions_outlive":[],"types_outlive":[],"trait_type_constraints":[]},"skip_binder":{"id":288,"generics":{"regions":[{"Var":{"Bound":[0,0]}}],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}},"kind":{"TraitMethod":[27,0]}}],"vtable":{"id":40,"generics":{"regions":[],"types":[],"const_generics":[{"kind":{"Var":{"Free":0}},"ty":{"Deduplicated":390}},{"kind":{"Var":{"Free":1}},"ty":{"Deduplicated":390}}],"trait_refs":[]}}}],"ordered_decls":[{"TraitDecl":{"NonRec":8}},{"Fun":{"NonRec":49}},{"TraitDecl":{"NonRec":1}},{"Fun":{"NonRec":5}},{"TraitDecl":{"NonRec":32}},{"Fun":{"NonRec":256}},{"TraitDecl":{"NonRec":11}},{"Fun":{"NonRec":169}},{"TraitImpl":{"NonRec":31}},{"TraitDecl":{"NonRec":3}},{"Fun":{"NonRec":12}},{"Fun":{"NonRec":167}},{"Fun":{"NonRec":229}},{"TraitImpl":{"NonRec":26}},{"Fun":{"NonRec":240}},{"TraitImpl":{"NonRec":29}},{"Fun":{"NonRec":243}},{"TraitImpl":{"NonRec":33}},{"Fun":{"NonRec":187}},{"Type":{"NonRec":43}},{"Type":{"NonRec":11}},{"TraitDecl":{"NonRec":23}},{"Fun":{"NonRec":219}},{"Fun":{"NonRec":189}},{"TraitImpl":{"NonRec":23}},{"Fun":{"NonRec":270}},{"TraitImpl":{"NonRec":46}},{"Fun":{"NonRec":272}},{"TraitImpl":{"NonRec":47}},{"Fun":{"NonRec":230}},{"TraitImpl":{"NonRec":27}},{"Fun":{"NonRec":244}},{"TraitImpl":{"NonRec":34}},{"Fun":{"NonRec":31}},{"Fun":{"NonRec":170}},{"Fun":{"NonRec":52}},{"Fun":{"NonRec":53}},{"TraitImpl":{"NonRec":7}},{"Type":{"NonRec":13}},{"TraitDecl":{"NonRec":6}},{"Fun":{"NonRec":141}},{"Fun":{"NonRec":142}},{"Fun":{"NonRec":145}},{"Fun":{"NonRec":152}},{"Fun":{"NonRec":149}},{"Fun":{"NonRec":148}},{"TraitImpl":{"NonRec":11}},{"Fun":{"NonRec":175}},{"Fun":{"NonRec":172}},{"Fun":{"NonRec":171}},{"TraitImpl":{"NonRec":17}},{"Type":{"NonRec":5}},{"TraitDecl":{"NonRec":5}},{"Fun":{"NonRec":30}},{"TraitImpl":{"NonRec":10}},{"Fun":{"NonRec":29}},{"Fun":{"NonRec":55}},{"TraitDecl":{"NonRec":7}},{"TraitImpl":{"NonRec":14}},{"Fun":{"NonRec":32}},{"Fun":{"NonRec":242}},{"Global":{"NonRec":0}},{"Global":{"NonRec":11}},{"Fun":{"NonRec":33}},{"Fun":{"NonRec":35}},{"Fun":{"NonRec":280}},{"Fun":{"NonRec":179}},{"Fun":{"NonRec":14}},{"Fun":{"NonRec":275}},{"Type":{"NonRec":15}},{"Type":{"NonRec":14}},{"Type":{"NonRec":12}},{"TraitDecl":{"NonRec":4}},{"TraitDecl":{"NonRec":2}},{"Fun":{"NonRec":15}},{"TraitImpl":{"NonRec":3}},{"Fun":{"NonRec":276}},{"TraitImpl":{"NonRec":50}},{"TraitImpl":{"NonRec":8}},{"TraitImpl":{"NonRec":28}},{"TraitImpl":{"NonRec":30}},{"Fun":{"NonRec":16}},{"Fun":{"NonRec":17}},{"Fun":{"NonRec":18}},{"Fun":{"NonRec":19}},{"Fun":{"NonRec":20}},{"Fun":{"NonRec":21}},{"Fun":{"NonRec":27}},{"Fun":{"NonRec":26}},{"Fun":{"NonRec":25}},{"Fun":{"NonRec":24}},{"Fun":{"NonRec":23}},{"Fun":{"NonRec":22}},{"TraitImpl":{"NonRec":4}},{"Fun":{"NonRec":160}},{"Fun":{"NonRec":159}},{"Fun":{"NonRec":158}},{"Fun":{"NonRec":157}},{"Fun":{"NonRec":156}},{"Fun":{"NonRec":155}},{"TraitImpl":{"NonRec":13}},{"Fun":{"NonRec":166}},{"Fun":{"NonRec":165}},{"Fun":{"NonRec":164}},{"Fun":{"NonRec":163}},{"Fun":{"NonRec":162}},{"Fun":{"NonRec":161}},{"TraitImpl":{"NonRec":15}},{"Fun":{"NonRec":28}},{"Fun":{"NonRec":34}},{"TraitDecl":{"NonRec":27}},{"Fun":{"NonRec":264}},{"TraitDecl":{"NonRec":28}},{"Fun":{"NonRec":266}},{"TraitImpl":{"NonRec":41}},{"TraitImpl":{"NonRec":42}},{"Fun":{"NonRec":265}},{"TraitImpl":{"NonRec":40}},{"Fun":{"NonRec":194}},{"Fun":{"NonRec":6}},{"Fun":{"NonRec":279}},{"Global":{"NonRec":23}},{"Fun":{"NonRec":277}},{"Global":{"NonRec":21}},{"Fun":{"NonRec":257}},{"Fun":{"NonRec":38}},{"Type":{"NonRec":4}},{"Fun":{"NonRec":50}},{"Fun":{"NonRec":40}},{"Fun":{"NonRec":9}},{"Fun":{"NonRec":258}},{"Fun":{"NonRec":8}},{"Fun":{"NonRec":7}},{"Fun":{"NonRec":282}},{"Fun":{"NonRec":39}},{"Fun":{"NonRec":45}},{"Fun":{"NonRec":42}},{"Fun":{"NonRec":278}},{"Global":{"NonRec":22}},{"Type":{"NonRec":16}},{"Type":{"NonRec":8}},{"Type":{"NonRec":3}},{"Type":{"NonRec":7}},{"Type":{"NonRec":2}},{"Type":{"NonRec":0}},{"Type":{"NonRec":1}},{"Type":{"NonRec":6}},{"Fun":{"NonRec":191}},{"Fun":{"NonRec":51}},{"Fun":{"NonRec":44}},{"Fun":{"NonRec":253}},{"Fun":{"NonRec":180}},{"Fun":{"NonRec":181}},{"Fun":{"NonRec":288}},{"TraitImpl":{"NonRec":55}},{"Fun":{"NonRec":274}},{"Fun":{"NonRec":254}},{"Type":{"NonRec":49}},{"Fun":{"NonRec":283}},{"Fun":{"NonRec":261}},{"Fun":{"NonRec":47}},{"Fun":{"NonRec":263}},{"Fun":{"NonRec":185}},{"Fun":{"NonRec":182}},{"Fun":{"NonRec":183}},{"Fun":{"NonRec":255}},{"Global":{"NonRec":12}},{"Fun":{"NonRec":281}},{"Global":{"NonRec":24}},{"Fun":{"NonRec":262}},{"Global":{"NonRec":13}},{"Fun":{"NonRec":36}},{"Global":{"NonRec":1}},{"Fun":{"NonRec":178}},{"Global":{"NonRec":5}},{"Fun":{"NonRec":37}},{"Fun":{"NonRec":2}},{"Fun":{"NonRec":54}},{"Fun":{"NonRec":13}},{"Fun":{"NonRec":43}},{"Fun":{"NonRec":46}},{"Fun":{"NonRec":259}},{"Fun":{"NonRec":41}},{"Fun":{"NonRec":3}},{"Fun":{"NonRec":260}},{"Fun":{"NonRec":184}},{"Fun":{"NonRec":48}},{"Fun":{"NonRec":11}},{"Fun":{"NonRec":10}},{"Fun":{"NonRec":1}},{"Fun":{"NonRec":0}}]},"has_errors":false}