All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TcgEfiSpecIdevent::default
      Src: /src/td-shim/cc-measurement/src/log.rs:40,1
    - Dst: log_pcr_event
      Src: /src/td-shim/cc-measurement/src/log.rs:41,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:41,1
    - Dst: Ok
      Src: /src/td-shim/cc-measurement/src/log.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - area
    - extender
    argTypes:
    - '&mut [u8]'
    - Box<dyn Fn(&[u8; SHA384_DIGEST_SIZE], u32) -> Result<()>>
    constantsTouched: []
    func_position:
      end: 44
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 44
    functionName: CcEventLogWriter::new
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - Self::as_bytes
    - log_pcr_event
    - Ok
    - TcgEfiSpecIdevent::default
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(area: &mut [u8],extender: Box<dyn Fn(&[u8; SHA384_DIGEST_SIZE],
      u32) -> Result<()>>,) -> Result<CcEventLogWriter<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogWriter::calculate_digest_and_extend
      Src: /src/td-shim/cc-measurement/src/log.rs:53,1
    - Dst: CcEventLogWriter::log_cc_event
      Src: /src/td-shim/cc-measurement/src/log.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mr_index
    - event_type
    - event_data
    - hash_data
    argTypes:
    - u32
    - u32
    - '&[&[u8]]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: CcEventLogWriter::create_event_log
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - CcEventLogWriter::log_cc_event
    - CcEventLogWriter::calculate_digest_and_extend
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_event_log(&mut self,mr_index: u32,event_type: u32,event_data:
      &[&[u8]],hash_data: &[u8],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:59,1
    - Dst: CcEventLogWriter::calculate_digest_and_extend
      Src: /src/td-shim/cc-measurement/src/log.rs:62,1
    - Dst: CcEventLogWriter::calculate_digest_and_extend
      Src: /src/td-shim/cc-measurement/src/log.rs:63,1
    - Dst: CcEventLogWriter::log_cc_event
      Src: /src/td-shim/cc-measurement/src/log.rs:65,1
    - Dst: CcEventLogWriter::log_cc_event
      Src: /src/td-shim/cc-measurement/src/log.rs:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: CcEventLogWriter::create_seperator
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - u32::to_le_bytes
    - CcEventLogWriter::log_cc_event
    - CcEventLogWriter::calculate_digest_and_extend
    linkageType: ''
    returnType: Result
    signature: pub fn create_seperator(&mut self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: CcEventLogWriter::as_slice
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_slice(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:79,1
    - Dst: checked_add
      Src: /src/td-shim/cc-measurement/src/log.rs:79,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/cc-measurement/src/log.rs:80,1
    - Dst: ok_or
      Src: /src/td-shim/cc-measurement/src/log.rs:79,1
    - Dst: checked_add
      Src: /src/td-shim/cc-measurement/src/log.rs:83,1
    - Dst: ok_or
      Src: /src/td-shim/cc-measurement/src/log.rs:83,1
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:87,1
    - Dst: Err
      Src: /src/td-shim/cc-measurement/src/log.rs:89,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/cc-measurement/src/log.rs:96,1
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:99,1
    - Dst: copy_from_slice
      Src: /src/td-shim/cc-measurement/src/log.rs:100,1
    - Dst: as_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:100,1
    - Dst: CcEventLogWriter::write_data
      Src: /src/td-shim/cc-measurement/src/log.rs:101,1
    - Dst: CcEventLogWriter::update_offset
      Src: /src/td-shim/cc-measurement/src/log.rs:102,1
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:102,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/cc-measurement/src/log.rs:102,1
    - Dst: Ok
      Src: /src/td-shim/cc-measurement/src/log.rs:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 3
    argNames:
    - mr_index
    - event_type
    - event_data
    argTypes:
    - u32
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: CcEventLogWriter::log_pcr_event
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_add
    - CcEventLogWriter::update_offset
    - copy_from_slice
    - CcEventLogWriter::write_data
    - '&[u8]::len'
    - Ok
    - as_bytes
    - size_of::<TcgPcrEventHeader>
    - ok_or
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn log_pcr_event(&mut self,mr_index: u32,event_type: u32,event_data:
      &[u8],) -> Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[&[u8]]::iter'
      Src: /src/td-shim/cc-measurement/src/log.rs:114,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/cc-measurement/src/log.rs:114,1
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:114,1
    - Dst: TestResult::sum
      Src: /src/td-shim/cc-measurement/src/log.rs:114,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:115,1
    - Dst: checked_add
      Src: /src/td-shim/cc-measurement/src/log.rs:115,1
    - Dst: ok_or
      Src: /src/td-shim/cc-measurement/src/log.rs:115,1
    - Dst: checked_add
      Src: /src/td-shim/cc-measurement/src/log.rs:119,1
    - Dst: ok_or
      Src: /src/td-shim/cc-measurement/src/log.rs:119,1
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:123,1
    - Dst: Err
      Src: /src/td-shim/cc-measurement/src/log.rs:125,1
    - Dst: CcEventLogWriter::log_cc_event_header
      Src: /src/td-shim/cc-measurement/src/log.rs:129,1
    - Dst: Option::ok_or
      Src: /src/td-shim/cc-measurement/src/log.rs:129,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:133,1
    - Dst: CcEventLogWriter::write_data
      Src: /src/td-shim/cc-measurement/src/log.rs:136,1
    - Dst: checked_add
      Src: /src/td-shim/cc-measurement/src/log.rs:138,1
    - Dst: ok_or
      Src: /src/td-shim/cc-measurement/src/log.rs:138,1
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:142,1
    - Dst: CcEventLogWriter::update_offset
      Src: /src/td-shim/cc-measurement/src/log.rs:145,1
    - Dst: Ok
      Src: /src/td-shim/cc-measurement/src/log.rs:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 4
    argNames:
    - mr_index
    - event_type
    - event_data
    - sha384
    argTypes:
    - u32
    - u32
    - '&[&[u8]]'
    - '&[u8; 48]'
    constantsTouched: []
    func_position:
      end: 148
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 148
    functionName: CcEventLogWriter::log_cc_event
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 2
    functionsReached:
    - len
    - Option::ok_or
    - CcEventLogWriter::update_offset
    - size_of::<CcEventHeader>
    - CcEventLogWriter::write_data
    - CcEventLogWriter::log_cc_event_header
    - Ok
    - '&[&[u8]]::iter'
    - ok_or
    - checked_add
    - TestResult::sum
    - Err
    - Self::IntoIter::map
    linkageType: ''
    returnType: Result
    signature: 'fn log_cc_event(&mut self,mr_index: u32,event_type: u32,event_data:
      &[&[u8]],sha384: &[u8; 48],) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:170,1
    - Dst: copy_from_slice
      Src: /src/td-shim/cc-measurement/src/log.rs:170,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:171,1
    - Dst: Some
      Src: /src/td-shim/cc-measurement/src/log.rs:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 4
    argNames:
    - mr_index
    - event_type
    - digest
    - event_size
    argTypes:
    - u32
    - u32
    - '&[u8; SHA384_DIGEST_SIZE]'
    - u32
    constantsTouched: []
    func_position:
      end: 174
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 174
    functionName: CcEventLogWriter::log_cc_event_header
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 1
    functionsReached:
    - Option::as_bytes
    - size_of::<CcEventHeader>
    - Some
    - copy_from_slice
    linkageType: ''
    returnType: Option
    signature: 'fn log_cc_event_header(&mut self,mr_index: u32,event_type: u32,digest:
      &[u8; SHA384_DIGEST_SIZE],event_size: u32,) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:177,1
    - Dst: copy_from_slice
      Src: /src/td-shim/cc-measurement/src/log.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - data
    - offset
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: CcEventLogWriter::write_data
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 2
    functionsReached:
    - len
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn write_data(&mut self, data: &[u8], offset: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - new_log_size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: CcEventLogWriter::update_offset
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn update_offset(&mut self, new_log_size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::hash_sha384
      Src: /src/td-shim/cc-measurement/src/log.rs:192,1
    - Dst: Ok
      Src: /src/td-shim/cc-measurement/src/log.rs:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - hash_data
    - mr_index
    argTypes:
    - '&[u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: CcEventLogWriter::calculate_digest_and_extend
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 2
    functionsReached:
    - Ok
    - Self::hash_sha384
    linkageType: ''
    returnType: Result
    signature: 'fn calculate_digest_and_extend(&self,hash_data: &[u8],mr_index: u32,)
      -> Result<[u8; SHA384_DIGEST_SIZE]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sha384::new
      Src: /src/td-shim/cc-measurement/src/log.rs:213,1
    - Dst: Digest::update
      Src: /src/td-shim/cc-measurement/src/log.rs:214,1
    - Dst: Digest::finalize
      Src: /src/td-shim/cc-measurement/src/log.rs:215,1
    - Dst: '&mut [u8; SHA384_DIGEST_SIZE]::clone_from_slice'
      Src: /src/td-shim/cc-measurement/src/log.rs:218,1
    - Dst: Digest::as_slice
      Src: /src/td-shim/cc-measurement/src/log.rs:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - hash_data
    - digest_sha384
    argTypes:
    - '&[u8]'
    - '&mut [u8; SHA384_DIGEST_SIZE]'
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: CcEventLogWriter::hash_sha384
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8; SHA384_DIGEST_SIZE]::clone_from_slice'
    - Sha384::new
    - Digest::update
    - Digest::finalize
    - Digest::as_slice
    linkageType: ''
    returnType: void
    signature: 'fn hash_sha384(hash_data: &[u8], digest_sha384: &mut [u8; SHA384_DIGEST_SIZE])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:232,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:232,1
    - Dst: CcEventHeader::read_from_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:237,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:237,1
    - Dst: Option::ok
      Src: /src/td-shim/cc-measurement/src/log.rs:237,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:242,1
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:243,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:244,1
    - Dst: Some
      Src: /src/td-shim/cc-measurement/src/log.rs:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: CcEvents::next
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - len
    - size_of::<CcEventHeader>
    - Some
    - Option::ok
    - CcEventHeader::read_from_bytes
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:262,1
    - Dst: size_of::<TcgEfiSpecIdevent>
      Src: /src/td-shim/cc-measurement/src/log.rs:262,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/cc-measurement/src/log.rs:263,1
    - Dst: TcgPcrEventHeader::read_from_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:269,1
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:269,1
    - Dst: Option::ok
      Src: /src/td-shim/cc-measurement/src/log.rs:269,1
    - Dst: TcgEfiSpecIdevent::read_from_bytes
      Src: /src/td-shim/cc-measurement/src/log.rs:270,1
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:271,1
    - Dst: Option::ok
      Src: /src/td-shim/cc-measurement/src/log.rs:270,1
    - Dst: Some
      Src: /src/td-shim/cc-measurement/src/log.rs:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 283
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 283
    functionName: CcEventLogReader::new
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - TcgEfiSpecIdevent::read_from_bytes
    - TcgPcrEventHeader::read_from_bytes
    - size_of::<TcgEfiSpecIdevent>
    - '&[u8]::len'
    - Some
    - size_of::<TcgPcrEventHeader>
    - Option::ok
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(bytes: &[u8]) -> Option<CcEventLogReader<''_>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/cc-measurement/src/log.rs:287,1
    - Dst: Result::len
      Src: /src/td-shim/cc-measurement/src/log.rs:287,1
    - Dst: Result::len
      Src: /src/td-shim/cc-measurement/src/log.rs:290,1
    - Dst: Some
      Src: /src/td-shim/cc-measurement/src/log.rs:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: CcEventLogReader::query
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - len
    - Result::len
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn query(&self, key: &[u8]) -> Option<CcEventHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/cc-measurement/src/log.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _digest
    - _mr_index
    argTypes:
    - '&[u8; SHA384_DIGEST_SIZE]'
    - u32
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: tests::extender
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn extender(_digest: &[u8; SHA384_DIGEST_SIZE], _mr_index: u32) ->
      Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogWriter::new
      Src: /src/td-shim/cc-measurement/src/log.rs:320,1
    - Dst: Box::new
      Src: /src/td-shim/cc-measurement/src/log.rs:320,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 4
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: tests::test_cc_eventlog_writter_new
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Box::new
    - CcEventLogWriter::new
    linkageType: ''
    returnType: void
    signature: fn test_cc_eventlog_writter_new()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogWriter::new
      Src: /src/td-shim/cc-measurement/src/log.rs:328,1
    - Dst: Box::new
      Src: /src/td-shim/cc-measurement/src/log.rs:328,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: tests::test_cc_eventlog_writter_new_with_small_buf
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Box::new
    - CcEventLogWriter::new
    linkageType: ''
    returnType: void
    signature: fn test_cc_eventlog_writter_new_with_small_buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogWriter::new
      Src: /src/td-shim/cc-measurement/src/log.rs:335,1
    - Dst: Box::new
      Src: /src/td-shim/cc-measurement/src/log.rs:335,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:335,1
    - Dst: size_of::<TcgPcrEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:336,1
    - Dst: size_of::<TcgEfiSpecIdevent>
      Src: /src/td-shim/cc-measurement/src/log.rs:336,1
    - Dst: create_event_log
      Src: /src/td-shim/cc-measurement/src/log.rs:339,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:339,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:342,1
    - Dst: create_seperator
      Src: /src/td-shim/cc-measurement/src/log.rs:348,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:348,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/log.rs:349,1
    - Dst: size_of::<u32>
      Src: /src/td-shim/cc-measurement/src/log.rs:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 366
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 366
    functionName: tests::test_cc_eventlog_writter
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - size_of::<u32>
    - create_seperator
    - Result::unwrap
    - size_of::<TcgEfiSpecIdevent>
    - Box::new
    - size_of::<TcgPcrEventHeader>
    - size_of::<CcEventHeader>
    - CcEventLogWriter::new
    - create_event_log
    linkageType: ''
    returnType: void
    signature: fn test_cc_eventlog_writter()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogReader::new
      Src: /src/td-shim/cc-measurement/src/log.rs:372,1
    - Dst: Option::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: tests::test_eventlog_reader_new
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - CcEventLogReader::new
    linkageType: ''
    returnType: void
    signature: fn test_eventlog_reader_new()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogReader::new
      Src: /src/td-shim/cc-measurement/src/log.rs:381,1
    - Dst: Option::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: tests::test_eventlog_reader_new_with_small_buf
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - CcEventLogReader::new
    linkageType: ''
    returnType: void
    signature: fn test_eventlog_reader_new_with_small_buf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogWriter::new
      Src: /src/td-shim/cc-measurement/src/log.rs:388,1
    - Dst: Box::new
      Src: /src/td-shim/cc-measurement/src/log.rs:388,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:388,1
    - Dst: create_event_log
      Src: /src/td-shim/cc-measurement/src/log.rs:390,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:390,1
    - Dst: create_seperator
      Src: /src/td-shim/cc-measurement/src/log.rs:394,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:394,1
    - Dst: CcEventLogReader::new
      Src: /src/td-shim/cc-measurement/src/log.rs:396,1
    - Dst: Option::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:396,1
    - Dst: enumerate
      Src: /src/td-shim/cc-measurement/src/log.rs:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 408
    functionName: tests::test_cc_events_iterator
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - create_seperator
    - CcEventLogReader::new
    - Result::unwrap
    - Option::unwrap
    - Box::new
    - enumerate
    - CcEventLogWriter::new
    - create_event_log
    linkageType: ''
    returnType: void
    signature: fn test_cc_events_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CcEventLogWriter::new
      Src: /src/td-shim/cc-measurement/src/log.rs:414,1
    - Dst: Box::new
      Src: /src/td-shim/cc-measurement/src/log.rs:414,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:414,1
    - Dst: create_event_log
      Src: /src/td-shim/cc-measurement/src/log.rs:416,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:416,1
    - Dst: create_seperator
      Src: /src/td-shim/cc-measurement/src/log.rs:420,1
    - Dst: Result::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:420,1
    - Dst: CcEventLogReader::new
      Src: /src/td-shim/cc-measurement/src/log.rs:422,1
    - Dst: Option::unwrap
      Src: /src/td-shim/cc-measurement/src/log.rs:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 425
    functionName: tests::test_cc_event_log_reader_query
    functionSourceFile: /src/td-shim/cc-measurement/src/log.rs
    functionUses: 0
    functionsReached:
    - create_seperator
    - CcEventLogReader::new
    - Result::unwrap
    - Option::unwrap
    - Box::new
    - CcEventLogWriter::new
    - create_event_log
    linkageType: ''
    returnType: void
    signature: fn test_cc_event_log_reader_query()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/td-shim/cc-measurement/src/lib.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: TcgEfiSpecIdevent::new
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/cc-measurement/src/lib.rs:59,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/cc-measurement/src/lib.rs:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: TcgEfiSpecIdevent::as_bytes
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: TcgEfiSpecIdevent::default
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/cc-measurement/src/lib.rs:100,1
    - Dst: extend_from_slice
      Src: /src/td-shim/cc-measurement/src/lib.rs:108,1
    - Dst: extend_from_slice
      Src: /src/td-shim/cc-measurement/src/lib.rs:111,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/cc-measurement/src/lib.rs:111,1
    - Dst: extend_from_slice
      Src: /src/td-shim/cc-measurement/src/lib.rs:113,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/cc-measurement/src/lib.rs:113,1
    - Dst: Some
      Src: /src/td-shim/cc-measurement/src/lib.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - blob_desc
    - blob_base
    - blob_length
    argTypes:
    - '&[u8]'
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: UefiPlatformFirmwareBlob2::new
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - extend_from_slice
    - '&[u8]::len'
    - Some
    - u64::to_le_bytes
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(blob_desc: &[u8], blob_base: u64, blob_length: u64) ->
      Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/td-shim/cc-measurement/src/lib.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: UefiPlatformFirmwareBlob2::as_bytes
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: CcEventHeader::fmt
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/cc-measurement/src/lib.rs:160,1
    - Dst: enumerate
      Src: /src/td-shim/cc-measurement/src/lib.rs:160,1
    - Dst: Ok
      Src: /src/td-shim/cc-measurement/src/lib.rs:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 170
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 170
    functionName: TpmlDigestValues::fmt
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - enumerate
    - Ok
    - iter
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: TpmuHa::default
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: TcgPcrEventHeader::fmt
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: tests::test_struct_size
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_struct_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UefiPlatformFirmwareBlob2::new
      Src: /src/td-shim/cc-measurement/src/lib.rs:238,1
    - Dst: UefiPlatformFirmwareBlob2::new
      Src: /src/td-shim/cc-measurement/src/lib.rs:241,1
    - Dst: Option::unwrap
      Src: /src/td-shim/cc-measurement/src/lib.rs:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: tests::test_uefi_platform_firmware_blob2
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - UefiPlatformFirmwareBlob2::new
    linkageType: ''
    returnType: void
    signature: fn test_uefi_platform_firmware_blob2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/cc-measurement/src/lib.rs:249,1
    - Dst: size_of::<TpmlDigestValues>
      Src: /src/td-shim/cc-measurement/src/lib.rs:251,1
    - Dst: copy_from_slice
      Src: /src/td-shim/cc-measurement/src/lib.rs:252,1
    - Dst: as_bytes
      Src: /src/td-shim/cc-measurement/src/lib.rs:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: tests::test_tpml_digest_value
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - as_bytes
    - size_of::<TpmlDigestValues>
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn test_tpml_digest_value()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/cc-measurement/src/lib.rs:262,1
    - Dst: size_of::<CcEventHeader>
      Src: /src/td-shim/cc-measurement/src/lib.rs:266,1
    - Dst: copy_from_slice
      Src: /src/td-shim/cc-measurement/src/lib.rs:267,1
    - Dst: as_bytes
      Src: /src/td-shim/cc-measurement/src/lib.rs:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: tests::test_cc_event_header
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_bytes
    - copy_from_slice
    - size_of::<CcEventHeader>
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn test_cc_event_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TcgEfiSpecIdevent::new
      Src: /src/td-shim/cc-measurement/src/lib.rs:272,1
    - Dst: Result::as_bytes
      Src: /src/td-shim/cc-measurement/src/lib.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: tests::test_tcgefispec_id_event
    functionSourceFile: /src/td-shim/cc-measurement/src/lib.rs
    functionUses: 0
    functionsReached:
    - TcgEfiSpecIdevent::new
    - Result::as_bytes
    linkageType: ''
    returnType: void
    signature: fn test_tcgefispec_id_event()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:29,1
    - Dst: buffer_mut
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:30,1
    - Dst: deref
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:35,1
    - Dst: into_option
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:36,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:36,1
    - Dst: iter
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:38,1
    - Dst: test_runner_client::init_heap
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:40,1
    - Dst: test_runner_client::serial_println
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:45,1
    - Dst: test_main
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - boot_info
    argTypes:
    - '&''static mut BootInfo'
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: kernel_main
    functionSourceFile: /src/td-shim/tests/test-td-paging/src/lib.rs
    functionUses: 0
    functionsReached:
    - test_runner_client::serial_println
    - as_mut
    - unwrap
    - buffer_mut
    - test_runner_client::init_heap
    - iter
    - into_option
    - test_main
    - deref
    linkageType: ''
    returnType: '!'
    signature: 'fn kernel_main(boot_info: &''static mut BootInfo) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setup_exception_handlers
      Src: /src/td-shim/tests/test-td-exception/src/lib.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: tests::test_divided_by_zero
    functionSourceFile: /src/td-shim/tests/test-td-exception/src/lib.rs
    functionUses: 0
    functionsReached:
    - setup_exception_handlers
    linkageType: ''
    returnType: void
    signature: fn test_divided_by_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OffsetPageTable::new
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:64,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:66,1
    - Dst: reserve_page
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - page_table_memory_base
    - system_memory_size
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: tests::setup_paging
    functionSourceFile: /src/td-shim/tests/test-td-paging/src/lib.rs
    functionUses: 0
    functionsReached:
    - reserve_page
    - VirtAddr::new
    - OffsetPageTable::new
    linkageType: ''
    returnType: void
    signature: 'pub fn setup_paging(page_table_memory_base: u64, system_memory_size:
      u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setup_paging
      Src: /src/td-shim/tests/test-td-paging/src/lib.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: tests::test_create_paging
    functionSourceFile: /src/td-shim/tests/test-td-paging/src/lib.rs
    functionUses: 0
    functionsReached:
    - setup_paging
    linkageType: ''
    returnType: void
    signature: fn test_create_paging()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: TdVE::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdve.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::io::outb
      Src: /src/td-shim/tests/test-td-payload/src/testtdve.rs:39,1
    - Dst: x86::io::inb
      Src: /src/td-shim/tests/test-td-payload/src/testtdve.rs:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: TdVE::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdve.rs
    functionUses: 0
    functionsReached:
    - x86::io::outb
    - x86::io::inb
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: TdVE::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdve.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testtdve.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: TdVE::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdve.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: TdVE::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdve.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:28,1
    - Dst: ends_with
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:29,1
    - Dst: u64::from_str_radix
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:30,1
    - Dst: ok
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:30,1
    - Dst: Some
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:31,1
    - Dst: ends_with
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:32,1
    - Dst: u64::from_str_radix
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:33,1
    - Dst: ok
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:33,1
    - Dst: Some
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: MemoryMapConfig::get_size
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached:
    - len
    - ok
    - Some
    - u64::from_str_radix
    - ends_with
    linkageType: ''
    returnType: Option
    signature: pub fn get_size(&self) -> Option<u64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:59,1
    - Dst: td_payload::hob::get_hob
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:61,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:61,1
    - Dst: hob::get_next_extension_guid_hob
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:65,1
    - Dst: as_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:65,1
    - Dst: hob::get_guid_data
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:67,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:67,1
    - Dst: Option::len
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:70,1
    - Dst: size_of::<E820Entry>
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:70,1
    - Dst: Option::len
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:70,1
    - Dst: E820Entry::read_from_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:72,1
    - Dst: size_of::<E820Entry>
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:72,1
    - Dst: Option::ok
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:72,1
    - Dst: E820Table::push
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:75,1
    - Dst: size_of::<E820Entry>
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:76,1
    - Dst: Some
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - hob_address
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: TestMemoryMap::parse_hob
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached:
    - hob::get_next_extension_guid_hob
    - Option::ok
    - size_of::<E820Entry>
    - Vec::new
    - as_bytes
    - E820Table::push
    - Some
    - Option::len
    - E820Entry::read_from_bytes
    - hob::get_guid_data
    - Option::expect
    - td_payload::hob::get_hob
    linkageType: ''
    returnType: Option
    signature: 'fn parse_hob(&self, hob_address: usize) -> Option<Vec<E820Entry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_size
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 1
    argNames:
    - e820
    argTypes:
    - Vec<E820Entry>
    constantsTouched: []
    func_position:
      end: 124
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 124
    functionName: TestMemoryMap::verify_memory_map
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached:
    - get_size
    linkageType: ''
    returnType: TestResult
    signature: 'fn verify_memory_map(&self, e820: Vec<E820Entry>) -> TestResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: TestMemoryMap::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestMemoryMap::parse_hob
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:142,1
    - Dst: TestMemoryMap::verify_memory_map
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 5
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: TestMemoryMap::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached:
    - TestMemoryMap::verify_memory_map
    - TestMemoryMap::parse_hob
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: TestMemoryMap::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testmemmap.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: TestMemoryMap::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: TestMemoryMap::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdreport::tdcall_report
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:50,1
    - Dst: try_into
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:51,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:51,1
    - Dst: Result::expect
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: TestTdTrustedBoot::get_rtmr_from_tdreport
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - try_into
    - tdreport::tdcall_report
    - unwrap
    linkageType: ''
    returnType: Rtmr
    signature: fn get_rtmr_from_tdreport(&mut self) -> Rtmr
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: td_payload::hob::get_hob
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:69,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:69,1
    - Dst: hob::get_next_extension_guid_hob
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:73,1
    - Dst: as_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:73,1
    - Dst: hob::get_guid_data
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:75,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:75,1
    - Dst: GenericSdtHeader::read_from_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:76,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:76,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:76,1
    - Dst: Ccel::read_from_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:81,1
    - Dst: size_of::<Ccel>
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:81,1
    - Dst: Option::ok
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:81,1
    - Dst: hob::seek_to_next_hob
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:85,1
    - Dst: Option::unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - hob_address
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: TestTdTrustedBoot::parse_hob
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached:
    - Ccel::read_from_bytes
    - Option::unwrap
    - Option::expect
    - td_payload::hob::get_hob
    - hob::seek_to_next_hob
    - as_bytes
    - size_of::<GenericSdtHeader>
    - GenericSdtHeader::read_from_bytes
    - Option::ok
    - size_of::<Ccel>
    - hob::get_next_extension_guid_hob
    - hob::get_guid_data
    linkageType: ''
    returnType: Option
    signature: 'fn parse_hob(&self, hob_address: usize) -> Option<Ccel>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:95,1
    - Dst: CcEventLogReader::new
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:104,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:116,1
    - Dst: digest::digest
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:117,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:118,1
    - Dst: Result::as_ref
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:118,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:120,1
    - Dst: digest::digest
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:121,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:122,1
    - Dst: Result::as_ref
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:122,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:124,1
    - Dst: digest::digest
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:125,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:126,1
    - Dst: Result::as_ref
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:126,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:128,1
    - Dst: digest::digest
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:129,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:130,1
    - Dst: Result::as_ref
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:130,1
    - Dst: try_into
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:135,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:135,1
    - Dst: try_into
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:136,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:136,1
    - Dst: try_into
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:137,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:137,1
    - Dst: try_into
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:138,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:138,1
    - Dst: Some
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 138
    argCount: 1
    argNames:
    - ccel_table
    argTypes:
    - Ccel
    constantsTouched: []
    func_position:
      end: 141
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 141
    functionName: TestTdTrustedBoot::get_rtmr_from_cceltable
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - core::slice::from_raw_parts
    - CcEventLogReader::new
    - copy_from_slice
    - unwrap
    - try_into
    - Some
    - digest::digest
    linkageType: ''
    returnType: Option
    signature: 'fn get_rtmr_from_cceltable(&self, ccel_table: Ccel) -> Option<Rtmr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: TestTdTrustedBoot::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestTdTrustedBoot::get_rtmr_from_tdreport
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:160,1
    - Dst: TestTdTrustedBoot::parse_hob
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:164,1
    - Dst: TestTdTrustedBoot::get_rtmr_from_cceltable
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:172,1
    - Dst: Option::unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 192
    functionName: TestTdTrustedBoot::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached:
    - TestTdTrustedBoot::get_rtmr_from_tdreport
    - Option::unwrap
    - TestTdTrustedBoot::get_rtmr_from_cceltable
    - TestTdTrustedBoot::parse_hob
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 197
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 197
    functionName: TestTdTrustedBoot::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: TestTdTrustedBoot::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: TestTdTrustedBoot::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::default
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: TdAcpiData::default
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached:
    - String::default
    linkageType: ''
    returnType: TdAcpiData
    signature: fn default() -> TdAcpiData
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:59,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:59,1
    - Dst: wrapping_add
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:59,1
    - Dst: wrapping_add
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: TestTdAcpi::calculate_checksum
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    - Self::IntoIter::fold
    - iter
    linkageType: ''
    returnType: u8
    signature: 'fn calculate_checksum(&self, data: &[u8]) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:63,1
    - Dst: td_payload::hob::get_hob
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:66,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:66,1
    - Dst: hob::get_next_extension_guid_hob
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:70,1
    - Dst: as_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:70,1
    - Dst: hob::get_guid_data
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:72,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:72,1
    - Dst: GenericSdtHeader::read_from_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:73,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:73,1
    - Dst: Option::expect
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:73,1
    - Dst: TestTdAcpi::calculate_checksum
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:77,1
    - Dst: TestResult::push
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:85,1
    - Dst: hob::seek_to_next_hob
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:88,1
    - Dst: Option::unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - hob_address
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: TestTdAcpi::parse_hob
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached:
    - hob::get_next_extension_guid_hob
    - TestResult::push
    - Option::unwrap
    - Vec::new
    - hob::seek_to_next_hob
    - as_bytes
    - size_of::<GenericSdtHeader>
    - GenericSdtHeader::read_from_bytes
    - TestTdAcpi::calculate_checksum
    - hob::get_guid_data
    - Option::expect
    - td_payload::hob::get_hob
    linkageType: ''
    returnType: Vec
    signature: 'fn parse_hob(&self, hob_address: usize) -> Vec<GenericSdtHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::len
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:95,1
    - Dst: u64::len
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:100,1
    - Dst: u64::len
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:109,1
    - Dst: u64::iter
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:111,1
    - Dst: Self::IntoIter::position
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:111,1
    - Dst: is_none
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:115,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:123,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:127,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 78
    argCount: 1
    argNames:
    - acpi_tables
    argTypes:
    - Vec<GenericSdtHeader>
    constantsTouched: []
    func_position:
      end: 158
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 158
    functionName: TestTdAcpi::verify_tables
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached:
    - u64::from_le_bytes
    - u64::len
    - Self::IntoIter::position
    - is_none
    - unwrap
    - u32::from_le_bytes
    - u64::iter
    linkageType: ''
    returnType: TestResult
    signature: 'fn verify_tables(&self, acpi_tables: Vec<GenericSdtHeader>) -> TestResult'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: TestTdAcpi::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestTdAcpi::parse_hob
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:176,1
    - Dst: TestTdAcpi::verify_tables
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 5
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: TestTdAcpi::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached:
    - TestTdAcpi::verify_tables
    - TestTdAcpi::parse_hob
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: TestTdAcpi::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testacpi.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: TestTdAcpi::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: TestTdAcpi::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testacpi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: Tdinfo::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdcall_get_td_info
      Src: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs:60,1
    - Dst: Result::expect
      Src: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 126
    functionName: Tdinfo::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - tdx::tdcall_get_td_info
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: Tdinfo::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Tdinfo::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: Tdinfo::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: TestCetShstk::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tamper_return_address
      Src: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: TestCetShstk::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs
    functionUses: 0
    functionsReached:
    - tamper_return_address
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: TestCetShstk::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: TestCetShstk::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: TestCetShstk::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: TestCetIbt::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetibt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_without_endbr
      Src: /src/td-shim/tests/test-td-payload/src/testcetibt.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: TestCetIbt::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetibt.rs
    functionUses: 0
    functionsReached:
    - test_without_endbr
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: TestCetIbt::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetibt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testcetibt.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: TestCetIbt::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetibt.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: TestCetIbt::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testcetibt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Tdreport::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdreport::tdcall_report
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:48,1
    - Dst: try_into
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:49,1
    - Dst: unwrap
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:49,1
    - Dst: Result::expect
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:48,1
    - Dst: tdreport::tdcall_verify_report
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:100,1
    - Dst: as_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:100,1
    - Dst: size_of::<ReportMac>
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:100,1
    - Dst: as_bytes_mut
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:110,1
    - Dst: size_of::<ReportType>
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:110,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:110,1
    - Dst: tdreport::tdcall_verify_report
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:112,1
    - Dst: as_bytes
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:112,1
    - Dst: size_of::<ReportMac>
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 119
    functionName: Tdreport::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdreport.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - as_bytes_mut
    - Result::expect
    - unwrap
    - try_into
    - size_of::<ReportMac>
    - as_bytes
    - size_of::<ReportType>
    - tdreport::tdcall_report
    - tdreport::tdcall_verify_report
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 124
    functionName: Tdreport::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testtdreport.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: Tdreport::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdreport.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: Tdreport::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testtdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Tdiorw32::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdvmcall_io_write_8
      Src: /src/td-shim/tests/test-td-payload/src/testiorw32.rs:41,1
    - Dst: tdx::tdvmcall_io_read_32
      Src: /src/td-shim/tests/test-td-payload/src/testiorw32.rs:43,1
    - Dst: tdx::tdvmcall_io_write_32
      Src: /src/td-shim/tests/test-td-payload/src/testiorw32.rs:46,1
    - Dst: tdx::tdvmcall_io_read_32
      Src: /src/td-shim/tests/test-td-payload/src/testiorw32.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: Tdiorw32::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw32.rs
    functionUses: 0
    functionsReached:
    - tdx::tdvmcall_io_write_8
    - tdx::tdvmcall_io_write_32
    - tdx::tdvmcall_io_read_32
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Tdiorw32::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testiorw32.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Tdiorw32::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw32.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Tdiorw32::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw32.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:37,1
    - Dst: td_payload::print
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:38,1
    - Dst: setup
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:39,1
    - Dst: run
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:40,1
    - Dst: teardown
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:41,1
    - Dst: get_result
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:43,1
    - Dst: td_payload::print
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:47,1
    - Dst: td_payload::print
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:51,1
    - Dst: td_payload::print
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:54,1
    - Dst: td_payload::print
      Src: /src/td-shim/tests/test-td-payload/src/lib.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 60
    functionName: TestSuite::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/lib.rs
    functionUses: 0
    functionsReached:
    - get_result
    - td_payload::print
    - run
    - iter_mut
    - teardown
    - setup
    linkageType: ''
    returnType: void
    signature: pub fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: TestStackGuard::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/teststackguard.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recursive
      Src: /src/td-shim/tests/test-td-payload/src/teststackguard.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: TestStackGuard::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/teststackguard.rs
    functionUses: 0
    functionsReached:
    - recursive
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: TestStackGuard::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/teststackguard.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/teststackguard.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: TestStackGuard::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/teststackguard.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: TestStackGuard::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/teststackguard.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdvmcall_rdmsr
      Src: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs:30,1
    - Dst: tdx::tdvmcall_wrmsr
      Src: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs:33,1
    - Dst: Result::is_err
      Src: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs:33,1
    - Dst: tdx::tdvmcall_rdmsr
      Src: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 60
    functionName: Tdmsrrw::test
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
    functionUses: 0
    functionsReached:
    - tdx::tdvmcall_rdmsr
    - Result::is_err
    - tdx::tdvmcall_wrmsr
    linkageType: ''
    returnType: TestResult
    signature: fn test(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: Tdmsrrw::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tdmsrrw::test
      Src: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Tdmsrrw::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
    functionUses: 0
    functionsReached:
    - Tdmsrrw::test
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: Tdmsrrw::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Tdmsrrw::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: Tdmsrrw::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memslice::get_mem_slice
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:99,1
    - Dst: fv::get_file_from_fv
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:100,1
    - Dst: Option::unwrap
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:100,1
    - Dst: String::from_utf8_lossy
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:106,1
    - Dst: to_string
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:106,1
    - Dst: trim_matches
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:108,1
    - Dst: char::from
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:108,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:110,1
    - Dst: Result::unwrap
      Src: /src/td-shim/tests/test-td-payload/src/main.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: build_testcases
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/main.rs
    functionUses: 0
    functionsReached:
    - to_string
    - Result::unwrap
    - Option::unwrap
    - String::from_utf8_lossy
    - serde_json::from_str
    - trim_matches
    - fv::get_file_from_fv
    - char::from
    - memslice::get_mem_slice
    linkageType: ''
    returnType: TestCases
    signature: fn build_testcases() -> TestCases
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RuntimeLayout::default
      Src: /src/td-shim/td-payload/src/lib.rs:33,1
    - Dst: arch::init::pre_init
      Src: /src/td-shim/td-payload/src/lib.rs:35,1
    - Dst: arch::init::init
      Src: /src/td-shim/td-payload/src/lib.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - hob
    - _payload
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 42
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 42
    functionName: _start
    functionSourceFile: /src/td-shim/td-payload/src/lib.rs
    functionUses: 0
    functionsReached:
    - RuntimeLayout::default
    - arch::init::init
    - arch::init::pre_init
    linkageType: ''
    returnType: '!'
    signature: 'pub extern "C" fn _start(hob: u64, _payload: u64) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:273,1
    - Dst: env::var_os
      Src: /src/td-shim/library/ring/build.rs:274,1
    - Dst: Option::expect
      Src: /src/td-shim/library/ring/build.rs:274,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:279,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:279,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:281,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:281,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:282,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:282,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:283,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:283,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:284,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:284,1
    - Dst: join
      Src: /src/td-shim/library/ring/build.rs:278,1
    - Dst: env::var_os
      Src: /src/td-shim/library/ring/build.rs:294,1
    - Dst: Option::as_deref
      Src: /src/td-shim/library/ring/build.rs:294,1
    - Dst: pregenerate_asm_main
      Src: /src/td-shim/library/ring/build.rs:296,1
    - Dst: ring_build_rs_main
      Src: /src/td-shim/library/ring/build.rs:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - ring_build_rs_main
    - pregenerate_asm_main
    - join
    - Option::unwrap
    - env::var
    - Option::as_deref
    - PathBuf::from
    - env::var_os
    - Option::expect
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Tdiorw8::setup
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn setup(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdvmcall_io_write_8
      Src: /src/td-shim/tests/test-td-payload/src/testiorw8.rs:41,1
    - Dst: tdx::tdvmcall_io_read_8
      Src: /src/td-shim/tests/test-td-payload/src/testiorw8.rs:43,1
    - Dst: tdx::tdvmcall_io_write_8
      Src: /src/td-shim/tests/test-td-payload/src/testiorw8.rs:46,1
    - Dst: tdx::tdvmcall_io_read_8
      Src: /src/td-shim/tests/test-td-payload/src/testiorw8.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 61
    functionName: Tdiorw8::run
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw8.rs
    functionUses: 0
    functionsReached:
    - tdx::tdvmcall_io_write_8
    - tdx::tdvmcall_io_read_8
    linkageType: ''
    returnType: void
    signature: fn run(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: Tdiorw8::teardown
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn teardown(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/tests/test-td-payload/src/testiorw8.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Tdiorw8::get_name
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw8.rs
    functionUses: 0
    functionsReached:
    - String::from
    linkageType: ''
    returnType: String
    signature: fn get_name(&mut self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Tdiorw8::get_result
    functionSourceFile: /src/td-shim/tests/test-td-payload/src/testiorw8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TestResult
    signature: fn get_result(&mut self) -> TestResult
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_path
      Src: /src/td-shim/library/ring/build.rs:627,1
    - Dst: '&Path::as_os_str'
      Src: /src/td-shim/library/ring/build.rs:635,1
    - Dst: to_os_string
      Src: /src/td-shim/library/ring/build.rs:635,1
    - Dst: '&Path::push'
      Src: /src/td-shim/library/ring/build.rs:636,1
    - Dst: OsString::from
      Src: /src/td-shim/library/ring/build.rs:636,1
    - Dst: String::from
      Src: /src/td-shim/library/ring/build.rs:636,1
    - Dst: Command::new
      Src: /src/td-shim/library/ring/build.rs:638,1
    - Dst: '!::arg'
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: to_str
      Src: /src/td-shim/library/ring/build.rs:641,1
    - Dst: '&''static str::expect'
      Src: /src/td-shim/library/ring/build.rs:641,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: u64::arg
      Src: /src/td-shim/library/ring/build.rs:639,1
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:650,1
    - Dst: run_command
      Src: /src/td-shim/library/ring/build.rs:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 5
    argNames:
    - file
    - arch
    - include_dir
    - out_dir
    - c_root_dir
    argTypes:
    - '&Path'
    - '&str'
    - '&Path'
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 652
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 652
    functionName: nasm
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 0
    functionsReached:
    - to_os_string
    - '&Path::push'
    - '!::arg'
    - OsString::from
    - run_command
    - '&Path::as_os_str'
    - Command::new
    - u64::arg
    - '&''static str::expect'
    - '&Path::join'
    - String::from
    - obj_path
    - to_str
    linkageType: ''
    returnType: void
    signature: 'fn nasm(file: &Path, arch: &str, include_dir: &Path, out_dir: &Path,
      c_root_dir: &Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::stderr
      Src: /src/td-shim/library/ring/build.rs:662,1
    - Dst: Stdio::inherit
      Src: /src/td-shim/library/ring/build.rs:662,1
    - Dst: Command::status
      Src: /src/td-shim/library/ring/build.rs:663,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/build.rs:663,1
    - Dst: Result::success
      Src: /src/td-shim/library/ring/build.rs:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - Command
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: run_command
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - Result::success
    - Result::unwrap_or_else
    - Stdio::inherit
    - Command::status
    - Command::stderr
    linkageType: ''
    returnType: void
    signature: 'fn run_command(mut cmd: Command)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cc::Build::new
      Src: /src/td-shim/td-shim/build.rs:54,1
    - Dst: Result::try_get_compiler
      Src: /src/td-shim/td-shim/build.rs:54,1
    - Dst: path
      Src: /src/td-shim/td-shim/build.rs:62,1
    - Dst: to_path_buf
      Src: /src/td-shim/td-shim/build.rs:62,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim/build.rs:64,1
    - Dst: env::var
      Src: /src/td-shim/td-shim/build.rs:64,1
    - Dst: Option::unwrap_or_else
      Src: /src/td-shim/td-shim/build.rs:64,1
    - Dst: to_string
      Src: /src/td-shim/td-shim/build.rs:64,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim/build.rs:66,1
    - Dst: env::var
      Src: /src/td-shim/td-shim/build.rs:66,1
    - Dst: Option::unwrap_or_else
      Src: /src/td-shim/td-shim/build.rs:66,1
    - Dst: to_string
      Src: /src/td-shim/td-shim/build.rs:66,1
    - Dst: println
      Src: /src/td-shim/td-shim/build.rs:110,1
    - Dst: which
      Src: /src/td-shim/td-shim/build.rs:112,1
    - Dst: map_err
      Src: /src/td-shim/td-shim/build.rs:112,1
    - Dst: canonicalize
      Src: /src/td-shim/td-shim/build.rs:112,1
    - Dst: map_err
      Src: /src/td-shim/td-shim/build.rs:112,1
    - Dst: to_str
      Src: /src/td-shim/td-shim/build.rs:132,1
    - Dst: ok_or
      Src: /src/td-shim/td-shim/build.rs:132,1
    - Dst: map_err
      Src: /src/td-shim/td-shim/build.rs:132,1
    - Dst: contains
      Src: /src/td-shim/td-shim/build.rs:132,1
    - Dst: Err
      Src: /src/td-shim/td-shim/build.rs:138,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/build.rs:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 149
    functionName: check_environment
    functionSourceFile: /src/td-shim/td-shim/build.rs
    functionUses: 0
    functionsReached:
    - map_err
    - to_path_buf
    - to_string
    - path
    - env::var
    - contains
    - Ok
    - cc::Build::new
    - PathBuf::from
    - canonicalize
    - ok_or
    - Option::unwrap_or_else
    - Result::try_get_compiler
    - which
    - to_str
    - Err
    - println
    linkageType: ''
    returnType: Result
    signature: fn check_environment() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println
      Src: /src/td-shim/td-shim/build.rs:153,1
    - Dst: check_environment
      Src: /src/td-shim/td-shim/build.rs:156,1
    - Dst: println
      Src: /src/td-shim/td-shim/build.rs:158,1
    - Dst: get_cargo_manifest_dir
      Src: /src/td-shim/td-shim/build.rs:163,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim/build.rs:163,1
    - Dst: get_target_output_dir
      Src: /src/td-shim/td-shim/build.rs:164,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim/build.rs:164,1
    - Dst: env::set_current_dir
      Src: /src/td-shim/td-shim/build.rs:221,1
    - Dst: as_path
      Src: /src/td-shim/td-shim/build.rs:221,1
    - Dst: run_command
      Src: /src/td-shim/td-shim/build.rs:222,1
    - Dst: nasm
      Src: /src/td-shim/td-shim/build.rs:222,1
    - Dst: Path::new
      Src: /src/td-shim/td-shim/build.rs:223,1
    - Dst: as_path
      Src: /src/td-shim/td-shim/build.rs:225,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/build.rs:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 151
    functionDepth: 5
    functionLinenumber: 151
    functionLinenumberEnd: 245
    functionName: real_main
    functionSourceFile: /src/td-shim/td-shim/build.rs
    functionUses: 0
    functionsReached:
    - as_path
    - Path::new
    - run_command
    - PathBuf::join
    - get_target_output_dir
    - env::set_current_dir
    - get_cargo_manifest_dir
    - Ok
    - check_environment
    - println
    - nasm
    linkageType: ''
    returnType: Result
    signature: fn real_main() -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::var
      Src: /src/td-shim/td-shim/build.rs:250,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/build.rs:250,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim/build.rs:251,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim/build.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: get_target_output_dir
    functionSourceFile: /src/td-shim/td-shim/build.rs
    functionUses: 1
    functionsReached:
    - Option::unwrap
    - env::var
    - PathBuf::from
    - PathBuf::join
    linkageType: ''
    returnType: PathBuf
    signature: fn get_target_output_dir() -> PathBuf
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim/build.rs:261,1
    - Dst: env::var
      Src: /src/td-shim/td-shim/build.rs:261,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/build.rs:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: get_cargo_manifest_dir
    functionSourceFile: /src/td-shim/td-shim/build.rs
    functionUses: 1
    functionsReached:
    - Option::unwrap
    - env::var
    - PathBuf::from
    linkageType: ''
    returnType: PathBuf
    signature: fn get_cargo_manifest_dir() -> PathBuf
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: E820Type::from
    functionSourceFile: /src/td-shim/td-shim/src/e820.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(i: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - addr
    - size
    - r#type
    argTypes:
    - u64
    - u64
    - E820Type
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: E820Entry::new
    functionSourceFile: /src/td-shim/td-shim/src/e820.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(addr: u64, size: u64, r#type: E820Type) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: tests::test_e820_entry_size
    functionSourceFile: /src/td-shim/td-shim/src/e820.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_e820_entry_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E820Entry::new
      Src: /src/td-shim/td-shim/src/e820.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: tests::test_e820_entry
    functionSourceFile: /src/td-shim/td-shim/src/e820.rs
    functionUses: 0
    functionsReached:
    - E820Entry::new
    linkageType: ''
    returnType: void
    signature: fn test_e820_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: tests::test_e820_type
    functionSourceFile: /src/td-shim/td-shim/src/e820.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_e820_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim/src/event_log.rs:33,1
    - Dst: Default::default
      Src: /src/td-shim/td-shim/src/event_log.rs:39,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/event_log.rs:42,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/event_log.rs:42,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/event_log.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - descriptor
    - info_length
    argTypes:
    - '&[u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: TdShimPlatformConfigInfoHeader::new
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached:
    - len
    - copy_from_slice
    - Some
    - Default::default
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(descriptor: &[u8], info_length: u32) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/event_log.rs:47,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim/src/event_log.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: TdShimPlatformConfigInfoHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdShimPlatformConfigInfoHeader::new
      Src: /src/td-shim/td-shim/src/event_log.rs:58,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/event_log.rs:58,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-shim/src/event_log.rs:58,1
    - Dst: Result::create_event_log
      Src: /src/td-shim/td-shim/src/event_log.rs:61,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/event_log.rs:64,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/event_log.rs:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - event_log
    - mr_index
    - descriptor
    - data
    argTypes:
    - '&mut CcEventLogWriter'
    - u32
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: create_event_log_platform_config
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached:
    - len
    - Option::ok_or
    - TdShimPlatformConfigInfoHeader::new
    - Result::create_event_log
    - Ok
    - as_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_event_log_platform_config(event_log: &mut CcEventLogWriter,mr_index:
      u32,descriptor: &[u8],data: &[u8],) -> Result<(), CcEventLogError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_event_log_platform_config
      Src: /src/td-shim/td-shim/src/event_log.rs:72,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/event_log.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hob_list
    - cc_event_log
    argTypes:
    - '&[u8]'
    - '&mut CcEventLogWriter'
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: log_hob_list
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - create_event_log_platform_config
    linkageType: ''
    returnType: void
    signature: 'pub fn log_hob_list(hob_list: &[u8], cc_event_log: &mut CcEventLogWriter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UefiPlatformFirmwareBlob2::new
      Src: /src/td-shim/td-shim/src/event_log.rs:77,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/event_log.rs:79,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/event_log.rs:80,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/event_log.rs:77,1
    - Dst: '&mut CcEventLogWriter::create_event_log'
      Src: /src/td-shim/td-shim/src/event_log.rs:84,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/event_log.rs:88,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/event_log.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - payload
    - cc_event_log
    argTypes:
    - '&[u8]'
    - '&mut CcEventLogWriter'
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 7
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: log_payload_binary
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached:
    - len
    - '&mut CcEventLogWriter::create_event_log'
    - Result::expect
    - as_ptr
    - UefiPlatformFirmwareBlob2::new
    - as_bytes
    - Option::expect
    linkageType: ''
    returnType: void
    signature: 'pub fn log_payload_binary(payload: &[u8], cc_event_log: &mut CcEventLogWriter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_event_log_platform_config
      Src: /src/td-shim/td-shim/src/event_log.rs:95,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/event_log.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - payload_parameter
    - cc_event_log
    argTypes:
    - '&[u8]'
    - '&mut CcEventLogWriter'
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 8
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: log_payload_parameter
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - create_event_log_platform_config
    linkageType: ''
    returnType: void
    signature: 'pub fn log_payload_parameter(payload_parameter: &[u8], cc_event_log:
      &mut CcEventLogWriter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: test::test_struct_size
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_struct_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: test::test_tdshim_platform_configinfo_header
    functionSourceFile: /src/td-shim/td-shim/src/event_log.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_tdshim_platform_configinfo_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/secure_boot.rs:63,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: CfvPubKeyFileHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/secure_boot.rs:100,1
    - Dst: core::mem::size_of::<Self>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: PayloadSignHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - core::mem::size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:142,1
    - Dst: map_err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:142,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:146,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:147,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:151,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-shim/src/secure_boot.rs:151,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:152,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-shim/src/secure_boot.rs:165,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:166,1
    - Dst: Result::len
      Src: /src/td-shim/td-shim/src/secure_boot.rs:178,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/secure_boot.rs:178,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-shim/src/secure_boot.rs:184,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:185,1
    - Dst: UintRef::new
      Src: /src/td-shim/td-shim/src/secure_boot.rs:203,1
    - Dst: Result::map_err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:203,1
    - Dst: UintRef::new
      Src: /src/td-shim/td-shim/src/secure_boot.rs:204,1
    - Dst: Result::map_err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:204,1
    - Dst: Option::encode_to_slice
      Src: /src/td-shim/td-shim/src/secure_boot.rs:206,1
    - Dst: map_err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:206,1
    - Dst: Elem::len
      Src: /src/td-shim/td-shim/src/secure_boot.rs:209,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:210,1
    - Dst: Elem::len
      Src: /src/td-shim/td-shim/src/secure_boot.rs:212,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:216,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/secure_boot.rs:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 142
    argCount: 2
    argNames:
    - signed_payload
    - config
    argTypes:
    - '&''a [u8]'
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 229
      start: 141
    functionDepth: 4
    functionLinenumber: 141
    functionLinenumberEnd: 229
    functionName: PayloadVerifier::new
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - map_err
    - size_of::<PayloadSignHeader>
    - '&''a [u8]::len'
    - Option::encode_to_slice
    - copy_from_slice
    - Result::map_err
    - UintRef::new
    - Elem::len
    - Result::len
    - Ok
    - as_bytes
    - Err
    - pread::<PayloadSignHeader>
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(signed_payload: &''a [u8], config: &''a [u8]) -> Result<Self,
      VerifyErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: PayloadVerifier::get_payload_svn
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn get_payload_svn(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fv::get_file_from_fv
      Src: /src/td-shim/td-shim/src/secure_boot.rs:236,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-shim/src/secure_boot.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cfv
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: PayloadVerifier::get_trust_anchor
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - fv::get_file_from_fv
    - Option::ok_or
    linkageType: ''
    returnType: Result
    signature: 'pub fn get_trust_anchor(cfv: &''a [u8]) -> Result<&''a [u8], VerifyErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:245,1
    - Dst: map_err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:245,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:250,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-shim/src/secure_boot.rs:250,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:251,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/secure_boot.rs:253,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - signed_payload
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 255
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 255
    functionName: PayloadVerifier::get_payload_image
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - map_err
    - size_of::<PayloadSignHeader>
    - '&''a [u8]::len'
    - Ok
    - Err
    - pread::<PayloadSignHeader>
    linkageType: ''
    returnType: Result
    signature: 'pub fn get_payload_image(signed_payload: &''a [u8]) -> Result<&''a
      [u8], VerifyErr>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnparsedPublicKey::new
      Src: /src/td-shim/td-shim/src/secure_boot.rs:258,1
    - Dst: Self::verify
      Src: /src/td-shim/td-shim/src/secure_boot.rs:262,1
    - Dst: Result::map_err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: PayloadVerifier::verify_signature
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - Result::map_err
    - UnparsedPublicKey::new
    - Self::verify
    linkageType: ''
    returnType: Result
    signature: fn verify_signature(&self) -> Result<(), VerifyErr>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fv::get_file_from_fv
      Src: /src/td-shim/td-shim/src/secure_boot.rs:275,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-shim/src/secure_boot.rs:275,1
    - Dst: gread::<CfvPubKeyFileHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:283,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim/src/secure_boot.rs:283,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:284,1
    - Dst: Self::len
      Src: /src/td-shim/td-shim/src/secure_boot.rs:285,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:288,1
    - Dst: digest::digest
      Src: /src/td-shim/td-shim/src/secure_boot.rs:292,1
    - Dst: Result::as_ref
      Src: /src/td-shim/td-shim/src/secure_boot.rs:293,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/secure_boot.rs:294,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/secure_boot.rs:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 298
    functionName: PayloadVerifier::verify_public_key
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - Result::as_ref
    - Option::ok_or
    - gread::<CfvPubKeyFileHeader>
    - digest::digest
    - unwrap
    - Ok
    - as_bytes
    - fv::get_file_from_fv
    - Self::len
    - Err
    linkageType: ''
    returnType: Result
    signature: fn verify_public_key(&self) -> Result<(), VerifyErr>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadVerifier::verify_public_key
      Src: /src/td-shim/td-shim/src/secure_boot.rs:301,1
    - Dst: PayloadVerifier::verify_signature
      Src: /src/td-shim/td-shim/src/secure_boot.rs:302,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/secure_boot.rs:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: PayloadVerifier::verify
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - Ok
    - PayloadVerifier::verify_signature
    - PayloadVerifier::verify_public_key
    linkageType: ''
    returnType: Result
    signature: pub fn verify(&self) -> Result<(), VerifyErr>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:317,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:326,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:329,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:331,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/secure_boot.rs:331,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:331,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:335,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/secure_boot.rs:335,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:335,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:340,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/secure_boot.rs:340,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 343
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 343
    functionName: test::test_payload_verifier_new
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - size_of::<PayloadSignHeader>
    - as_bytes
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_payload_verifier_new()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:350,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:359,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:362,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim/src/secure_boot.rs:364,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/secure_boot.rs:364,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/secure_boot.rs:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 378
    functionName: test::test_get_payload_image
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - size_of::<PayloadSignHeader>
    - as_bytes
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_payload_image()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadVerifier::new
      Src: /src/td-shim/td-shim/src/secure_boot.rs:385,1
    - Dst: PayloadVerifier::get_trust_anchor
      Src: /src/td-shim/td-shim/src/secure_boot.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 381
    functionDepth: 5
    functionLinenumber: 381
    functionLinenumberEnd: 393
    functionName: test::test_get_trust_anchor
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - PayloadVerifier::new
    - PayloadVerifier::get_trust_anchor
    linkageType: ''
    returnType: void
    signature: fn test_get_trust_anchor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadVerifier::new
      Src: /src/td-shim/td-shim/src/secure_boot.rs:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 5
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: test::test_get_payload_svn
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - PayloadVerifier::new
    linkageType: ''
    returnType: void
    signature: fn test_get_payload_svn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadVerifier::new
      Src: /src/td-shim/td-shim/src/secure_boot.rs:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 420
      start: 409
    functionDepth: 5
    functionLinenumber: 409
    functionLinenumberEnd: 420
    functionName: test::test_verifier
    functionSourceFile: /src/td-shim/td-shim/src/secure_boot.rs
    functionUses: 0
    functionsReached:
    - PayloadVerifier::new
    linkageType: ''
    returnType: void
    signature: fn test_verifier()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResetVectorHeader::default
      Src: /src/td-shim/td-shim/src/reset_vector.rs:32,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/reset_vector.rs:34,1
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim/src/reset_vector.rs:35,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim/src/reset_vector.rs:35,1
    - Dst: write_u24
      Src: /src/td-shim/td-shim/src/reset_vector.rs:47,1
    - Dst: size_of::<ResetVectorHeader>
      Src: /src/td-shim/td-shim/src/reset_vector.rs:48,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim/src/reset_vector.rs:51,1
    - Dst: write_u24
      Src: /src/td-shim/td-shim/src/reset_vector.rs:53,1
    - Dst: write_u24
      Src: /src/td-shim/td-shim/src/reset_vector.rs:58,1
    - Dst: size_of::<CommonSectionHeader>
      Src: /src/td-shim/td-shim/src/reset_vector.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: ResetVectorHeader::build_tdx_reset_vector_header
    functionSourceFile: /src/td-shim/td-shim/src/reset_vector.rs
    functionUses: 0
    functionsReached:
    - write_u24
    - copy_from_slice
    - size_of::<ResetVectorHeader>
    - Guid::as_bytes
    - Guid::from_fields
    - ResetVectorHeader::default
    - size_of::<CommonSectionHeader>
    - update_checksum
    linkageType: ''
    returnType: Self
    signature: pub fn build_tdx_reset_vector_header() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/reset_vector.rs:68,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim/src/reset_vector.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: ResetVectorHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/reset_vector.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/reset_vector.rs:82,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim/src/reset_vector.rs:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: ResetVectorParams::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/reset_vector.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ResetVectorHeader::build_tdx_reset_vector_header
      Src: /src/td-shim/td-shim/src/reset_vector.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: tests::test_resetvector_header
    functionSourceFile: /src/td-shim/td-shim/src/reset_vector.rs
    functionUses: 0
    functionsReached:
    - ResetVectorHeader::build_tdx_reset_vector_header
    linkageType: ''
    returnType: void
    signature: fn test_resetvector_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/fv.rs:31,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim/src/fv.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: FvHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u24
      Src: /src/td-shim/td-shim/src/fv.rs:38,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/fv.rs:48,1
    - Dst: FvBlockMap::default
      Src: /src/td-shim/td-shim/src/fv.rs:58,1
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim/src/fv.rs:60,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim/src/fv.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 81
    functionName: FvHeader::default
    functionSourceFile: /src/td-shim/td-shim/src/fv.rs
    functionUses: 0
    functionsReached:
    - write_u24
    - FvBlockMap::default
    - Guid::as_bytes
    - Guid::from_fields
    - as_bytes
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/fv.rs:93,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim/src/fv.rs:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: FvFfsFileHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FvHeader::default
      Src: /src/td-shim/td-shim/src/fv.rs:117,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/fv.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: tests::test_fv_header
    functionSourceFile: /src/td-shim/td-shim/src/fv.rs
    functionUses: 0
    functionsReached:
    - FvHeader::default
    - as_bytes
    linkageType: ''
    returnType: void
    signature: fn test_fv_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FvFfsFileHeader::default
      Src: /src/td-shim/td-shim/src/fv.rs:123,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim/src/fv.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: tests::test_fvffsfile_header
    functionSourceFile: /src/td-shim/td-shim/src/fv.rs
    functionUses: 0
    functionsReached:
    - Self::as_bytes
    - FvFfsFileHeader::default
    linkageType: ''
    returnType: void
    signature: fn test_fvffsfile_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FvFfsSectionHeader::default
      Src: /src/td-shim/td-shim/src/fv.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: tests::test_fvffssection_header
    functionSourceFile: /src/td-shim/td-shim/src/fv.rs
    functionUses: 0
    functionsReached:
    - FvFfsSectionHeader::default
    linkageType: ''
    returnType: void
    signature: fn test_fvffssection_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - '&TdPayloadInfoHobType'
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: u32::from
    functionSourceFile: /src/td-shim/td-shim-interface/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(v: &TdPayloadInfoHobType) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: TdPayloadInfoHobType::from
    functionSourceFile: /src/td-shim/td-shim-interface/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(v: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - data
    - buf
    argTypes:
    - u32
    - '&mut [u8; 3]'
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: write_u24
    functionSourceFile: /src/td-shim/td-shim-interface/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn write_u24(data: u32, buf: &mut [u8; 3])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 683
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 683
    functionName: speculation_barrier
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn speculation_barrier()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: test::test_tdpayload_info_hob_type
    functionSourceFile: /src/td-shim/td-shim-interface/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_tdpayload_info_hob_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u24
      Src: /src/td-shim/td-shim-interface/src/lib.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: test::test_write_u24
    functionSourceFile: /src/td-shim/td-shim-interface/src/lib.rs
    functionUses: 0
    functionsReached:
    - write_u24
    linkageType: ''
    returnType: void
    signature: fn test_write_u24()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E820Entry::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: E820Table::default
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - E820Entry::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: E820Table::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - Self::default
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:41,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:42,1
    - Dst: core::mem::size_of::<E820Entry>
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: E820Table::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - core::mem::size_of::<E820Entry>
    - as_ptr
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:56,1
    - Dst: enumerate
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:56,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:58,1
    - Dst: E820Table::able_to_merge
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:65,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:66,1
    - Dst: E820Table::insert_entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:68,1
    - Dst: E820Entry::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:68,1
    - Dst: E820Table::merge
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:69,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 3
    argNames:
    - r#type
    - start
    - length
    argTypes:
    - E820Type
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: E820Table::add_range
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - E820Entry::new
    - E820Table::insert_entry
    - Ok
    - E820Table::able_to_merge
    - iter
    - enumerate
    - Err
    - E820Table::merge
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_range(&mut self,r#type: E820Type,start: u64,length: u64,)
      -> Result<(), E820Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:89,1
    - Dst: E820Table::merge
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:95,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:96,1
    - Dst: E820Table::able_to_merge
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:104,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:106,1
    - Dst: E820Table::insert_entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:110,1
    - Dst: E820Entry::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:110,1
    - Dst: E820Table::able_to_merge
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:114,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:116,1
    - Dst: E820Table::insert_entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:119,1
    - Dst: E820Entry::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:119,1
    - Dst: E820Table::insert_entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:122,1
    - Dst: E820Entry::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:122,1
    - Dst: E820Table::insert_entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:123,1
    - Dst: E820Entry::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:125,1
    - Dst: into
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:128,1
    - Dst: E820Table::merge
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:132,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:133,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:137,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 153
    argCount: 3
    argNames:
    - r#type
    - start
    - length
    argTypes:
    - E820Type
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 138
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 138
    functionName: E820Table::convert_range
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - E820Entry::new
    - E820Table::insert_entry
    - into
    - Ok
    - E820Table::able_to_merge
    - Err
    - E820Table::merge
    linkageType: ''
    returnType: Result
    signature: 'pub fn convert_range(&mut self,r#type: E820Type,start: u64,length:
      u64,) -> Result<(), E820Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 4
    argNames:
    - pos
    - r#type
    - start
    - length
    argTypes:
    - usize
    - E820Type
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: E820Table::able_to_merge
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn able_to_merge(&self, pos: usize, r#type: E820Type, start: u64,
      length: u64) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E820Table::remove_entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: E820Table::merge
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 2
    functionsReached:
    - E820Table::remove_entry
    linkageType: ''
    returnType: void
    signature: fn merge(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:176,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:179,1
    - Dst: rev
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:183,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 2
    argNames:
    - index
    - entry
    argTypes:
    - usize
    - E820Entry
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: E820Table::insert_entry
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 2
    functionsReached:
    - Ok
    - Err
    - rev
    linkageType: ''
    returnType: Result
    signature: 'fn insert_entry(&mut self, index: usize, entry: E820Entry) -> Result<(),
      E820Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:194,1
    - Dst: E820Entry::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:202,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: E820Table::remove_entry
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 1
    functionsReached:
    - Ok
    - E820Entry::default
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn remove_entry(&mut self, index: usize) -> Result<(), E820Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: E820Table::as_slice
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[E820Entry]'
    signature: pub fn as_slice(&self) -> &[E820Entry]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E820Table::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:218,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:219,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:219,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:220,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:220,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:223,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: tests::test_e820_table_add_range
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - E820Table::new
    - Option::add_range
    linkageType: ''
    returnType: void
    signature: fn test_e820_table_add_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E820Table::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:229,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:230,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:230,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:231,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:231,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:232,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:232,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:234,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:234,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:239,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:239,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:240,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:240,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:245,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:245,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:246,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:246,1
    - Dst: E820Table::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:251,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:252,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:254,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:254,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:255,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:255,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/e820.rs:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 259
    functionName: tests::test_e820_table_convert_range
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - E820Table::new
    - Option::convert_range
    - Option::add_range
    linkageType: ''
    returnType: void
    signature: fn test_e820_table_convert_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:40,1
    - Dst: size_of::<TdxMetadataDescriptor>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:41,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:48,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:55,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:56,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:57,1
    - Dst: pread::<TdxMetadataDescriptor>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:64,1
    - Dst: ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:64,1
    - Dst: is_valid
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:65,1
    - Dst: checked_mul
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:72,1
    - Dst: checked_add
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:75,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:82,1
    - Dst: pread::<TdxMetadataSection>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:87,1
    - Dst: ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:87,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:95,1
    - Dst: validate_sections
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:100,1
    - Dst: Result::is_err
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:100,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:105,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 110
    functionName: BootTimeStatic::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached:
    - checked_mul
    - core::slice::from_raw_parts
    - Result::is_err
    - '&[TdxMetadataSection]::push'
    - Vec::new
    - size_of::<Guid>
    - as_bytes
    - Some
    - size_of::<TdxMetadataDescriptor>
    - ok
    - checked_add
    - pread::<TdxMetadataDescriptor>
    - pread::<TdxMetadataSection>
    - validate_sections
    - is_valid
    linkageType: ''
    returnType: Option
    signature: pub fn new() -> Option<Self>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: BootTimeStatic::sections
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached:
    - as_slice
    linkageType: ''
    returnType: '&[TdxMetadataSection]'
    signature: pub fn sections(&self) -> &[TdxMetadataSection]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: BootTimeStatic::payload_extend_rtmr
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn payload_extend_rtmr(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&BootTimeStatic::sections'
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:134,1
    - Dst: '&[TdxMetadataSection]::iter'
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:134,1
    - Dst: Self::IntoIter::find
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:134,1
    - Dst: and_then
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:134,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:139,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:139,1
    - Dst: Self::parse_td_hob
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:148,1
    - Dst: Self::parse_metadata
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:153,1
    - Dst: '&BootTimeStatic::sections'
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:153,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:156,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:160,1
    - Dst: Self::parse_metadata
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:162,1
    - Dst: '&BootTimeStatic::sections'
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:162,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - static_info
    argTypes:
    - '&BootTimeStatic'
    constantsTouched: []
    func_position:
      end: 172
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 172
    functionName: BootTimeDynamic::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::find
    - '&[TdxMetadataSection]::iter'
    - '&BootTimeStatic::sections'
    - core::slice::from_raw_parts
    - Self::parse_td_hob
    - Vec::new
    - and_then
    - Some
    - Self::parse_metadata
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(static_info: &BootTimeStatic) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: BootTimeDynamic::td_hob
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Option
    signature: pub fn td_hob(&self) -> Option<&'static [u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:179,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:180,1
    - Dst: hob::check_hob_integrity
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:184,1
    - Dst: hob::dump_hob
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:185,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:190,1
    - Dst: ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:190,1
    - Dst: pread::<ResourceDescription>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:193,1
    - Dst: ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:193,1
    - Dst: push
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:198,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:202,1
    - Dst: ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:202,1
    - Dst: hob::get_guid_data
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:203,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:204,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:205,1
    - Dst: pread::<PayloadInfo>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:205,1
    - Dst: ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:205,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:206,1
    - Dst: u64::push
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:207,1
    - Dst: hob::align_to_next_hob_offset
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:218,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:218,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:221,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:222,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    argCount: 1
    argNames:
    - td_hob
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 228
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 228
    functionName: BootTimeDynamic::parse_td_hob
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached:
    - Option::pread
    - len
    - push
    - Vec::new
    - u64::push
    - hob::align_to_next_hob_offset
    - hob::check_hob_integrity
    - as_bytes
    - Some
    - ok
    - pread::<ResourceDescription>
    - hob::dump_hob
    - pread::<PayloadInfo>
    - hob::get_guid_data
    linkageType: ''
    returnType: Option
    signature: 'fn parse_td_hob(td_hob: &''static [u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:231,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:250,1
    - Dst: push
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:260,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - sections
    argTypes:
    - '&[TdxMetadataSection]'
    constantsTouched: []
    func_position:
      end: 272
      start: 230
    functionDepth: 4
    functionLinenumber: 230
    functionLinenumberEnd: 272
    functionName: BootTimeDynamic::parse_metadata
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached:
    - push
    - Some
    - Vec::new
    - size_of::<ResourceDescription>
    linkageType: ''
    returnType: Option
    signature: 'fn parse_metadata(sections: &[TdxMetadataSection]) -> Option<Vec<ResourceDescription>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdxMetadataSection::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:284,1
    - Dst: BootTimeDynamic::parse_metadata
      Src: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 280
    functionDepth: 5
    functionLinenumber: 280
    functionLinenumberEnd: 362
    functionName: tests::test_parse_metadata
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
    functionUses: 0
    functionsReached:
    - TdxMetadataSection::default
    - BootTimeDynamic::parse_metadata
    linkageType: ''
    returnType: void
    signature: fn test_parse_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:33,1
    - Dst: size_of::<pi::hob::HandoffInfoTable>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:33,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:37,1
    - Dst: size_of::<pi::hob::HandoffInfoTable>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - memory
    argTypes:
    - '&''static mut [u8]'
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: PayloadHob::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - len
    - Some
    - size_of::<pi::hob::HandoffInfoTable>
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(memory: &''static mut [u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:45,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:45,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:46,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:49,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:49,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:50,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 53
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 53
    functionName: PayloadHob::append
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - len
    - Ok
    - Err
    - copy_from_slice
    linkageType: ''
    returnType: Result
    signature: 'fn append(&mut self, buf: &[u8]) -> Result<(), PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<pi::hob::Header>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:58,1
    - Dst: PayloadHob::append
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:61,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:61,1
    - Dst: core::mem::size_of::<pi::hob::HandoffInfoTable>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:66,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:75,1
    - Dst: size_of::<pi::hob::HandoffInfoTable>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:78,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:78,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:79,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 2
    argNames:
    - memory_top
    - memory_bottom
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 82
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 82
    functionName: PayloadHob::finish
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - PayloadHob::append
    - copy_from_slice
    - core::mem::size_of::<pi::hob::HandoffInfoTable>
    - as_ptr
    - Ok
    - as_bytes
    - size_of::<pi::hob::HandoffInfoTable>
    - size_of::<pi::hob::Header>
    linkageType: ''
    returnType: Result
    signature: 'pub fn finish(&mut self, memory_top: u64, memory_bottom: u64) -> Result<(),
      PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadHob::append
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:85,1
    - Dst: Result::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:85,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - resource
    argTypes:
    - '&ResourceDescription'
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: PayloadHob::add_resource
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - Result::as_bytes
    - Ok
    - PayloadHob::append
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_resource(&mut self, resource: &ResourceDescription) ->
      Result<(), PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<pi::hob::MemoryAllocation>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:99,1
    - Dst: String::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:103,1
    - Dst: PayloadHob::append
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:111,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:111,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - name
    - start
    - length
    - alloc_type
    argTypes:
    - '&guid::Guid'
    - u64
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 113
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 113
    functionName: PayloadHob::add_mem_allocation
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - String::as_bytes
    - PayloadHob::append
    - Option::as_bytes
    - size_of::<pi::hob::MemoryAllocation>
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_mem_allocation(&mut self,name: &guid::Guid,start: u64,length:
      u64,alloc_type: u32,) -> Result<(), PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:121,1
    - Dst: size_of::<pi::hob::GuidExtension>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:126,1
    - Dst: String::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:129,1
    - Dst: PayloadHob::append
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:131,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:131,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:133,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:134,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:136,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:136,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 2
    argNames:
    - name
    - data
    argTypes:
    - '&guid::Guid'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: PayloadHob::add_guided_data
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - len
    - String::as_bytes
    - PayloadHob::append
    - Option::as_bytes
    - copy_from_slice
    - size_of::<pi::hob::GuidExtension>
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_guided_data(&mut self,name: &guid::Guid,data: &[u8],) ->
      Result<(), PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<pi::hob::Cpu>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:145,1
    - Dst: PayloadHob::append
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:152,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:152,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - memory_space
    - io_space
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: PayloadHob::add_cpu
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - Ok
    - size_of::<pi::hob::Cpu>
    - PayloadHob::append
    - Option::as_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_cpu(&mut self, memory_space: u8, io_space: u8) -> Result<(),
      PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<pi::hob::FirmwareVolume>
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:160,1
    - Dst: PayloadHob::append
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:166,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:166,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - start
    - length
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: PayloadHob::add_fv
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Option::as_bytes
    - PayloadHob::append
    - size_of::<pi::hob::FirmwareVolume>
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_fv(&mut self, start: u64, length: u64) -> Result<(), PayloadHobError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadHob::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:174,1
    - Dst: get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:174,1
    - Dst: Option::add_cpu
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:176,1
    - Dst: memory::cpu_get_memory_space_size
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:176,1
    - Dst: Option::add_fv
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:177,1
    - Dst: Option::add_guided_data
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:180,1
    - Dst: Result::ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:180,1
    - Dst: create_e820
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:185,1
    - Dst: Option::add_guided_data
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:188,1
    - Dst: E820Table::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:189,1
    - Dst: Result::ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:188,1
    - Dst: E820Table::as_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:192,1
    - Dst: '&[E820Entry]::iter'
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:192,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:192,1
    - Dst: TestResult::max
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:192,1
    - Dst: E820Table::as_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:197,1
    - Dst: '&[E820Entry]::iter'
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:197,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:197,1
    - Dst: TestResult::min
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:197,1
    - Dst: Option::finish
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:198,1
    - Dst: Result::ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:198,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 2
    argNames:
    - acpi_tables
    - memory
    argTypes:
    - '&Vec<&[u8]>'
    - '&Memory'
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: build_payload_hob
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
    functionUses: 0
    functionsReached:
    - memory::cpu_get_memory_space_size
    - E820Table::as_bytes
    - Option::add_cpu
    - create_e820
    - PayloadHob::new
    - TestResult::min
    - Option::add_guided_data
    - Option::finish
    - '&[E820Entry]::iter'
    - Result::ok
    - Option::add_fv
    - Some
    - E820Table::as_slice
    - get_dynamic_mem_slice_mut
    - TestResult::max
    - Self::IntoIter::map
    linkageType: ''
    returnType: Option
    signature: 'pub fn build_payload_hob(acpi_tables: &Vec<&[u8]>, memory: &Memory)
      -> Option<PayloadHob>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saturating_add
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: efi_size_to_page
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
    functionUses: 0
    functionsReached:
    - saturating_add
    linkageType: ''
    returnType: u64
    signature: 'pub fn efi_size_to_page(size: u64) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saturating_mul
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - page
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: efi_page_to_size
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
    functionUses: 0
    functionsReached:
    - saturating_mul
    linkageType: ''
    returnType: u64
    signature: 'pub fn efi_page_to_size(page: u64) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:41,1
    - Dst: elf::is_elf
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:44,1
    - Dst: elf::relocate_elf_mem_with_per_program_header
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:46,1
    - Dst: pe::is_x86_64_pe
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:47,1
    - Dst: pe::relocate_pe_mem_with_per_sections
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:49,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:57,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:59,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:60,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - mem
    - image_buffer
    - loaded_buffer
    argTypes:
    - '&mut Memory'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 80
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 80
    functionName: find_and_report_entry_point
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8]::as_ptr'
    - elf::is_elf
    - pe::relocate_pe_mem_with_per_sections
    - '&mut [u8]::len'
    - Some
    - pe::is_x86_64_pe
    - elf::relocate_elf_mem_with_per_program_header
    linkageType: ''
    returnType: Option
    signature: 'pub fn find_and_report_entry_point(mem: &mut Memory,image_buffer:
      &[u8],loaded_buffer: &mut [u8],) -> Option<PayloadRelocationInfo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: tests::test_size_to_page
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_size_to_page()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf::relocate_elf_mem_with_per_program_header
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:103,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: tests::test_parse_elf
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
    functionUses: 0
    functionsReached:
    - elf::relocate_elf_mem_with_per_program_header
    - Option::unwrap
    linkageType: ''
    returnType: void
    signature: fn test_parse_elf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pe::relocate_pe_mem_with_per_sections
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:112,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: tests::test_parse_pe
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - pe::relocate_pe_mem_with_per_sections
    linkageType: ''
    returnType: void
    signature: fn test_parse_pe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::init_memory_resources
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:44,1
    - Dst: Option<PayloadInfo>::map
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:45,1
    - Dst: into
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:46,1
    - Dst: TestResult::unwrap_or
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:45,1
    - Dst: '&[LayoutEntry]::iter'
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:51,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:51,1
    - Dst: TestResult::max
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:51,1
    - Dst: RuntimeMemoryLayout::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:70,1
    - Dst: PathBuf::get_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:72,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:72,1
    - Dst: OffsetPageTable::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:78,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:80,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - resources
    - payload_info
    argTypes:
    - '&[ResourceDescription]'
    - Option<PayloadInfo>
    constantsTouched: []
    func_position:
      end: 89
      start: 39
    functionDepth: 4
    functionLinenumber: 39
    functionLinenumberEnd: 89
    functionName: Memory::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - TestResult::unwrap_or
    - Self::init_memory_resources
    - OffsetPageTable::new
    - into
    - PathBuf::get_region
    - '&[LayoutEntry]::iter'
    - RuntimeMemoryLayout::new
    - Some
    - VirtAddr::new
    - Option<PayloadInfo>::map
    - TestResult::max
    - Option::expect
    - Self::IntoIter::map
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(resources: &[ResourceDescription],payload_info: Option<PayloadInfo>,)
      -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Memory::get_layout_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:96,1
    - Dst: td_paging::init
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:97,1
    - Dst: td_paging::create_mapping
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:103,1
    - Dst: PhysAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:105,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:106,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:103,1
    - Dst: td_paging::create_mapping
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:118,1
    - Dst: PhysAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:120,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:121,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:118,1
    - Dst: Cr4::read
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:129,1
    - Dst: T::contains
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:129,1
    - Dst: td_paging::cr3_write
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:134,1
    - Dst: Memory::get_layout_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 138
    functionName: Memory::setup_paging
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - Cr4::read
    - T::contains
    - PhysAddr::new
    - td_paging::create_mapping
    - Result::expect
    - td_paging::init
    - VirtAddr::new
    - td_paging::cr3_write
    - Memory::get_layout_region
    linkageType: ''
    returnType: void
    signature: pub fn setup_paging(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: E820Table::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:141,1
    - Dst: Option::add_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:143,1
    - Dst: regions
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:146,1
    - Dst: into
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:147,1
    - Dst: Option::convert_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:149,1
    - Dst: into
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: Memory::create_e820
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - Option::add_range
    - into
    - regions
    - Option::convert_range
    - E820Table::new
    linkageType: ''
    returnType: E820Table
    signature: pub fn create_e820(&self) -> E820Table
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:158,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: Memory::get_dynamic_mem_slice
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    - unwrap_or_else
    linkageType: ''
    returnType: '&''static [u8]'
    signature: 'pub fn get_dynamic_mem_slice(&self, name: SliceType) -> &''static
      [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:167,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: Memory::get_dynamic_mem_slice_mut
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - unwrap_or_else
    - get_mem_slice_mut
    linkageType: ''
    returnType: '&''static mut [u8]'
    signature: 'pub fn get_dynamic_mem_slice_mut(&self, name: SliceType) -> &''static
      mut [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:175,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: Memory::get_layout_region
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 1
    functionsReached:
    - get_region
    - unwrap_or_else
    linkageType: ''
    returnType: LayoutRegion
    signature: 'pub fn get_layout_region(&self, name: SliceType) -> LayoutRegion'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:181,1
    - Dst: Self::support_unaccepted_type
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:182,1
    - Dst: '&[LayoutEntry]::push'
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:224,1
    - Dst: Self::accept_memory_resources
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 1
    argNames:
    - resources
    argTypes:
    - '&[ResourceDescription]'
    constantsTouched: []
    func_position:
      end: 231
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 231
    functionName: Memory::init_memory_resources
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - Self::support_unaccepted_type
    - Self::accept_memory_resources
    - '&[LayoutEntry]::push'
    - Vec::new
    linkageType: ''
    returnType: Vec
    signature: 'fn init_memory_resources(resources: &[ResourceDescription]) -> Vec<ResourceDescription>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - resources
    argTypes:
    - '&[ResourceDescription]'
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: Memory::support_unaccepted_type
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn support_unaccepted_type(resources: &[ResourceDescription]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Memory::get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:254,1
    - Dst: as_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:256,1
    - Dst: td::accept_memory_resource_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:262,1
    - Dst: td::accept_memory_resource_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:268,1
    - Dst: td::accept_memory_resource_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:275,1
    - Dst: Memory::get_layout_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 288
    functionName: Memory::build_unaccepted_memory_bitmap
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - Memory::get_dynamic_mem_slice_mut
    - Memory::get_layout_region
    - td::accept_memory_resource_range
    linkageType: ''
    returnType: u64
    signature: pub fn build_unaccepted_memory_bitmap(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::iter
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:296,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:296,1
    - Dst: map
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:296,1
    - Dst: max_by
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:296,1
    - Dst: cmp
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:305,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:296,1
    - Dst: td::get_shared_page_mask
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:307,1
    - Dst: Vec::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:320,1
    - Dst: Vec::insert
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:328,1
    - Dst: td::accept_memory_resource_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 1
    argNames:
    - resources
    argTypes:
    - '&mut Vec<ResourceDescription>'
    constantsTouched: []
    func_position:
      end: 344
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 344
    functionName: Memory::accept_memory_resources
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - cmp
    - map
    - max_by
    - Vec::len
    - unwrap
    - td::get_shared_page_mask
    - Self::IntoIter::enumerate
    - Vec::insert
    - Vec::iter
    - td::accept_memory_resource_range
    linkageType: ''
    returnType: void
    signature: 'fn accept_memory_resources(resources: &mut Vec<ResourceDescription>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: td_paging::set_page_flags
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:349,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: Memory::set_write_protect
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - VirtAddr::new
    - td_paging::set_page_flags
    linkageType: ''
    returnType: void
    signature: 'pub fn set_write_protect(&mut self, address: u64, size: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: td::get_shared_page_mask
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:353,1
    - Dst: Flags::from_bits_retain
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:355,1
    - Dst: bits
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:355,1
    - Dst: td_paging::set_page_flags
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:357,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: Memory::set_shared_bit
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - bits
    - Flags::from_bits_retain
    - td::get_shared_page_mask
    - td_paging::set_page_flags
    - VirtAddr::new
    linkageType: ''
    returnType: void
    signature: 'pub fn set_shared_bit(&mut self, address: u64, size: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: td_paging::set_page_flags
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:363,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 4
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: Memory::set_nx_bit
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - VirtAddr::new
    - td_paging::set_page_flags
    linkageType: ''
    returnType: void
    signature: 'pub fn set_nx_bit(&mut self, address: u64, size: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Flags::empty
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:367,1
    - Dst: td_paging::set_page_flags
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:369,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 4
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: Memory::set_not_present
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached:
    - VirtAddr::new
    - Flags::empty
    - td_paging::set_page_flags
    linkageType: ''
    returnType: void
    signature: 'pub fn set_not_present(&mut self, address: u64, size: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - resources
    argTypes:
    - '&[ResourceDescription]'
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: memory_top
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'fn memory_top(resources: &[ResourceDescription]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::arch::x86_64::__cpuid
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:392,1
    - Dst: core::arch::x86_64::__cpuid
      Src: /src/td-shim/td-shim/src/bin/td-shim/memory.rs:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 408
    functionName: cpu_get_memory_space_size
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 1
    functionsReached:
    - core::arch::x86_64::__cpuid
    linkageType: ''
    returnType: u8
    signature: pub fn cpu_get_memory_space_size() -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: tests::test_constants
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_constants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_inner
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:166,1
    - Dst: wrapping_sub
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - KeyValue
    constantsTouched: []
    func_position:
      end: 195
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 195
    functionName: init
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 2
    functionsReached:
    - wrapping_sub
    - into_inner
    linkageType: ''
    returnType: U128
    signature: 'fn init(value: KeyValue) -> U128'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: Madt::default
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:33,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:33,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:34,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:37,1
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:37,1
    - Dst: Madt::update_checksum
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: Madt::write
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 0
    functionsReached:
    - len
    - u32::to_le_bytes
    - Madt::update_checksum
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn write(&mut self, data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acpi::calculate_checksum
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: Madt::update_checksum
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 1
    functionsReached:
    - acpi::calculate_checksum
    linkageType: ''
    returnType: void
    signature: fn update_checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: Madt::as_bytes
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:75,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:75,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:80,1
    - Dst: try_into
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:80,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:80,1
    - Dst: Madt::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:82,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:83,1
    - Dst: size_of::<MadtMpwkStruct>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:87,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:92,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:92,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - vmm_madt
    - mailbox_base
    argTypes:
    - '&[u8]'
    - u64
    constantsTouched: []
    func_position:
      end: 95
      start: 74
    functionDepth: 4
    functionLinenumber: 74
    functionLinenumberEnd: 95
    functionName: create_madt
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 0
    functionsReached:
    - Option::write
    - Madt::default
    - size_of::<MadtMpwkStruct>
    - unwrap
    - try_into
    - '&[u8]::len'
    - u32::from_le_bytes
    - as_bytes
    - Some
    - size_of::<GenericSdtHeader>
    linkageType: ''
    returnType: Option
    signature: 'pub fn create_madt(vmm_madt: &[u8], mailbox_base: u64) -> Option<Madt>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:103,1
    - Dst: size_of::<LocalApic>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:105,1
    - Dst: size_of::<MadtMpwkStruct>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:106,1
    - Dst: Madt::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:111,1
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:112,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:115,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:115,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:118,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:118,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:119,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:119,1
    - Dst: size_of::<LocalApic>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:124,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:129,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:129,1
    - Dst: size_of::<MadtMpwkStruct>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:134,1
    - Dst: Option::write
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:139,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:139,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:142,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 2
    argNames:
    - cpu_num
    - mailbox_base
    argTypes:
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 145
      start: 100
    functionDepth: 4
    functionLinenumber: 100
    functionLinenumberEnd: 145
    functionName: create_madt_default
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 0
    functionsReached:
    - Option::write
    - Option::as_bytes
    - Madt::default
    - size_of::<MadtMpwkStruct>
    - Option::update_checksum
    - GenericSdtHeader::new
    - as_bytes
    - Some
    - size_of::<LocalApic>
    - to_le_bytes
    - size_of::<GenericSdtHeader>
    linkageType: ''
    returnType: Option
    signature: 'pub fn create_madt_default(cpu_num: u32, mailbox_base: u64) -> Option<Madt>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_madt_default
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:154,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:154,1
    - Dst: size_of::<SdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:157,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:160,1
    - Dst: create_madt
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:161,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/mp.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 5
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: tests::test_create_mdat
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - Option::unwrap
    - size_of::<SdtHeader>
    - create_madt_default
    - create_madt
    linkageType: ''
    returnType: void
    signature: fn test_create_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_println
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:25,1
    - Dst: serial_println
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:26,1
    - Dst: exit_qemu
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - '&PanicInfo'
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: panic
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/lib.rs
    functionUses: 0
    functionsReached:
    - serial_println
    - exit_qemu
    linkageType: ''
    returnType: '!'
    signature: 'pub fn panic(info: &PanicInfo) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86_64::instructions::interrupts::enable
      Src: /src/td-shim/td-exception/src/interrupt.rs:558,1
    - Dst: x86_64::instructions::hlt
      Src: /src/td-shim/td-exception/src/interrupt.rs:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 561
    functionName: deadloop
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - x86_64::instructions::hlt
    - x86_64::instructions::interrupts::enable
    linkageType: ''
    returnType: void
    signature: fn deadloop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::create_seperator
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:173,1
    - Dst: TdPayloadInfoHobType::from
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:175,1
    - Dst: install_acpi_tables
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:182,1
    - Dst: get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:182,1
    - Dst: create_e820
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:183,1
    - Dst: get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:186,1
    - Dst: get_dynamic_mem_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:187,1
    - Dst: '&BootTimeStatic::payload_extend_rtmr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:190,1
    - Dst: td_shim::event_log::log_payload_binary
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:191,1
    - Dst: td_shim::event_log::log_payload_parameter
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:193,1
    - Dst: get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:195,1
    - Dst: linux::boot::boot_kernel
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:197,1
    - Dst: Result::as_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:201,1
    - Dst: build_unaccepted_memory_bitmap
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 6
    argNames:
    - static_info
    - kernel_info
    - acpi_tables
    - mem
    - event_log
    - vcpus
    argTypes:
    - '&BootTimeStatic'
    - '&PayloadInfo'
    - '&Vec<&[u8]>'
    - '&memory::Memory'
    - '&mut CcEventLogWriter'
    - u32
    constantsTouched: []
    func_position:
      end: 208
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 208
    functionName: boot_linux_kernel
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 0
    functionsReached:
    - Result::create_seperator
    - linux::boot::boot_kernel
    - create_e820
    - get_dynamic_mem_slice
    - td_shim::event_log::log_payload_parameter
    - install_acpi_tables
    - Result::as_slice
    - '&BootTimeStatic::payload_extend_rtmr'
    - td_shim::event_log::log_payload_binary
    - TdPayloadInfoHobType::from
    - get_dynamic_mem_slice_mut
    - build_unaccepted_memory_bitmap
    linkageType: ''
    returnType: void
    signature: 'fn boot_linux_kernel(static_info: &BootTimeStatic,kernel_info: &PayloadInfo,acpi_tables:
      &Vec<&[u8]>,mem: &memory::Memory,event_log: &mut CcEventLogWriter,vcpus: u32,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memslice::get_mem_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:217,1
    - Dst: fv::get_image_from_fv
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:218,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:218,1
    - Dst: secure_boot_verify_payload
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:227,1
    - Dst: '&BootTimeStatic::payload_extend_rtmr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:231,1
    - Dst: td_shim::event_log::log_payload_binary
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:232,1
    - Dst: Result::create_seperator
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:236,1
    - Dst: get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:238,1
    - Dst: ipl::find_and_report_entry_point
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:239,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:239,1
    - Dst: get_layout_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:242,1
    - Dst: set_nx_bit
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:244,1
    - Dst: payload_hob::build_payload_hob
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:250,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:250,1
    - Dst: get_dynamic_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:258,1
    - Dst: switch_idt
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:261,1
    - Dst: td::relocate_mailbox
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:264,1
    - Dst: core::mem::transmute::<u64, extern "sysv64" fn(u64, u64)>
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:269,1
    - Dst: entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:273,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:275,1
    - Dst: core::mem::transmute::<u64, extern "win64" fn(u64, u64)>
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:280,1
    - Dst: entry
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:284,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 4
    argNames:
    - static_info
    - mem
    - event_log
    - acpi_tables
    argTypes:
    - '&BootTimeStatic'
    - '&mut memory::Memory'
    - '&mut CcEventLogWriter'
    - '&Vec<&[u8]>'
    constantsTouched: []
    func_position:
      end: 290
      start: 210
    functionDepth: 7
    functionLinenumber: 210
    functionLinenumberEnd: 290
    functionName: boot_builtin_payload
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 0
    functionsReached:
    - Result::create_seperator
    - ipl::find_and_report_entry_point
    - switch_idt
    - secure_boot_verify_payload
    - memslice::get_mem_slice
    - fv::get_image_from_fv
    - core::mem::transmute::<u64, extern "sysv64" fn(u64, u64)>
    - as_ptr
    - payload_hob::build_payload_hob
    - '&BootTimeStatic::payload_extend_rtmr'
    - entry
    - td_shim::event_log::log_payload_binary
    - set_nx_bit
    - core::mem::transmute::<u64, extern "win64" fn(u64, u64)>
    - td::relocate_mailbox
    - get_dynamic_mem_slice_mut
    - get_layout_region
    - Option::expect
    linkageType: ''
    returnType: void
    signature: 'fn boot_builtin_payload(static_info: &BootTimeStatic,mem: &mut memory::Memory,event_log:
      &mut CcEventLogWriter,acpi_tables: &Vec<&[u8]>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:302,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:302,1
    - Dst: size_of::<IdtEntry>
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:304,1
    - Dst: asm::empty_exception_handler_size
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:305,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:307,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:312,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:313,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:316,1
    - Dst: set_func
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:318,1
    - Dst: size_of::<IdtEntry>
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:322,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:323,1
    - Dst: td_exception::idt::load_idtr
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:325,1
    - Dst: td::set_idt
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 48
    argCount: 1
    argNames:
    - mailbox
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 329
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 329
    functionName: switch_idt
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 1
    functionsReached:
    - td_exception::idt::load_idtr
    - len
    - core::slice::from_raw_parts
    - td::set_idt
    - copy_from_slice
    - asm::empty_exception_handler_size
    - as_ptr
    - size_of::<IdtEntry>
    - set_func
    - VirtAddr::new
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: void
    signature: 'pub fn switch_idt(mailbox: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acpi::AcpiTables::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:334,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:334,1
    - Dst: install
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:337,1
    - Dst: finish
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - acpi_tables
    - acpi_slice
    argTypes:
    - '&Vec<&[u8]>'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: install_acpi_tables
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 1
    functionsReached:
    - finish
    - acpi::AcpiTables::new
    - install
    - '&mut [u8]::as_ptr'
    linkageType: ''
    returnType: u64
    signature: 'fn install_acpi_tables(acpi_tables: &Vec<&[u8]>, acpi_slice: &mut
      [u8]) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:347,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:349,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:349,1
    - Dst: speculation_barrier
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:352,1
    - Dst: GenericSdtHeader::read_from_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:354,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:354,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:354,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:356,1
    - Dst: speculation_barrier
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:359,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:362,1
    - Dst: u64::remove
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:363,1
    - Dst: get_layout_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:368,1
    - Dst: mp::create_madt
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:370,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:370,1
    - Dst: mp::create_madt_default
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:373,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:373,1
    - Dst: get_layout_region
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:377,1
    - Dst: Ccel::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 65
    argCount: 3
    argNames:
    - acpi_tables
    - mem
    - vcpus
    argTypes:
    - '&mut Vec<&[u8]>'
    - '&Memory'
    - u32
    constantsTouched: []
    func_position:
      end: 386
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 386
    functionName: prepare_acpi_tables
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 0
    functionsReached:
    - speculation_barrier
    - u64::remove
    - Ccel::new
    - mp::create_madt_default
    - u64::len
    - Option::expect
    - Some
    - GenericSdtHeader::read_from_bytes
    - Option::len
    - mp::create_madt
    - get_layout_region
    - size_of::<GenericSdtHeader>
    linkageType: ''
    returnType: (mp::Madt, Ccel)
    signature: 'fn prepare_acpi_tables(acpi_tables: &mut Vec<&[u8]>, mem: &Memory,
      vcpus: u32) -> (mp::Madt, Ccel)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memslice::get_mem_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:399,1
    - Dst: PayloadVerifier::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:400,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:400,1
    - Dst: PayloadVerifier::get_trust_anchor
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:403,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:403,1
    - Dst: create_event_log_platform_config
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:406,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:406,1
    - Dst: verify
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:414,1
    - Dst: expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:414,1
    - Dst: create_event_log_platform_config
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:418,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:418,1
    - Dst: create_event_log_platform_config
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:427,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:431,1
    - Dst: get_payload_svn
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:431,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:427,1
    - Dst: PayloadVerifier::get_payload_image
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:436,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/main.rs:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - payload
    - cc_event_log
    argTypes:
    - '&''a [u8]'
    - '&mut CcEventLogWriter'
    constantsTouched: []
    func_position:
      end: 438
      start: 389
    functionDepth: 5
    functionLinenumber: 389
    functionLinenumberEnd: 438
    functionName: secure_boot_verify_payload
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 1
    functionsReached:
    - Result::expect
    - verify
    - PayloadVerifier::get_trust_anchor
    - u64::to_le_bytes
    - get_payload_svn
    - PayloadVerifier::get_payload_image
    - expect
    - create_event_log_platform_config
    - PayloadVerifier::new
    - memslice::get_mem_slice
    linkageType: ''
    returnType: '&''a [u8]'
    signature: 'fn secure_boot_verify_payload<''a>(payload: &''a [u8],cc_event_log:
      &mut CcEventLogWriter,) -> &''a [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 444
    functionName: __assert_fail
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/main.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: extern "C" fn __assert_fail()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - td_acpi_mem
    - pa
    argTypes:
    - '&''a mut [u8]'
    - u64
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: AcpiTables::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(td_acpi_mem: &''a mut [u8], pa: u64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xsdt::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:37,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:42,1
    - Dst: map
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:42,1
    - Dst: AcpiTables::offset_to_address
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:45,1
    - Dst: unwrap_or_default
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:42,1
    - Dst: u32::write_to
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:51,1
    - Dst: td_shim_interface::acpi::calculate_checksum
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:56,1
    - Dst: add_table
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:57,1
    - Dst: AcpiTables::offset_to_address
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:57,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:57,1
    - Dst: add_table
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:62,1
    - Dst: AcpiTables::offset_to_address
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:62,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:62,1
    - Dst: AcpiTables::offset_to_address
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:66,1
    - Dst: checksum
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:67,1
    - Dst: write_to
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:68,1
    - Dst: size_of::<Xsdt>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:68,1
    - Dst: size_of::<Xsdt>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:69,1
    - Dst: AcpiTables::offset_to_address
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:71,1
    - Dst: Rsdp::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:72,1
    - Dst: write_to
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:73,1
    - Dst: size_of::<Rsdp>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:73,1
    - Dst: size_of::<Rsdp>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 77
    functionName: AcpiTables::finish
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs
    functionUses: 0
    functionsReached:
    - td_shim_interface::acpi::calculate_checksum
    - write_to
    - Xsdt::new
    - as_ref
    - Rsdp::new
    - map
    - Result::expect
    - size_of::<Rsdp>
    - AcpiTables::offset_to_address
    - u32::write_to
    - unwrap_or_default
    - checksum
    - size_of::<Xsdt>
    - add_table
    linkageType: ''
    returnType: u64
    signature: pub fn finish(&mut self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:81,1
    - Dst: size_of::<Xsdt>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:81,1
    - Dst: size_of::<Rsdp>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:81,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:82,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:87,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:87,1
    - Dst: GenericSdtHeader::read_from_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:93,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:93,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:93,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:94,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:107,1
    - Dst: Some
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:109,1
    - Dst: GenericSdtHeader::read_from_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:113,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:114,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:113,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:132,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:132,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 117
    argCount: 1
    argNames:
    - table
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 134
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 134
    functionName: AcpiTables::install
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs
    functionUses: 0
    functionsReached:
    - len
    - copy_from_slice
    - Option::unwrap
    - size_of::<Rsdp>
    - Some
    - GenericSdtHeader::read_from_bytes
    - Option::len
    - size_of::<Xsdt>
    - size_of::<GenericSdtHeader>
    linkageType: ''
    returnType: void
    signature: 'pub fn install(&mut self, table: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offset
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: AcpiTables::offset_to_address
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'fn offset_to_address(&self, offset: usize) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AcpiTables::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:148,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:153,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:155,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:157,1
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:160,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:162,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:162,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:162,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:163,1
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:167,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:167,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:168,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:168,1
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:171,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:171,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:172,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:172,1
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:175,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:175,1
    - Dst: TestResult::install
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:176,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:176,1
    - Dst: TestResult::finish
      Src: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 184
    functionName: tests::test_acpi_tables
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - AcpiTables::new
    - GenericSdtHeader::new
    - TestResult::install
    - Self::as_bytes
    - size_of::<GenericSdtHeader>
    - TestResult::finish
    linkageType: ''
    returnType: void
    signature: fn test_acpi_tables()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: ap_relocated_func_addr
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/asm/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn ap_relocated_func_addr() -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: ap_relocated_func_size
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/asm/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn ap_relocated_func_size() -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: empty_exception_handler_size
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/asm/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn empty_exception_handler_size() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 7
    functionName: get_shared_page_mask
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/dummy.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn get_shared_page_mask() -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:208,1
    - Dst: wait_for_ap_arrive
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:223,1
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:227,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:227,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:233,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:234,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:235,1
    - Dst: make_apic_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:239,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:241,1
    - Dst: ap_assign_work
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:242,1
    - Dst: parallel_accept_memory
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:246,1
    - Dst: td_accept_pages
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:249,1
    - Dst: td_accept_pages
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:251,1
    - Dst: wait_for_ap_arrive
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:257,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 85
    argCount: 3
    argNames:
    - cpu_num
    - address
    - size
    argTypes:
    - u32
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 259
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 259
    functionName: accept_memory_resource_range
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 2
    functionsReached:
    - set_fw_arg
    - MailBox::new
    - make_apic_range
    - as_ptr
    - parallel_accept_memory
    - ap_assign_work
    - td_accept_pages
    - td_layout::memslice::get_mem_slice_mut
    - wait_for_ap_arrive
    - core::cmp::min
    linkageType: ''
    returnType: void
    signature: 'pub fn accept_memory_resource_range(mut cpu_num: u32, address: u64,
      size: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:264,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:264,1
    - Dst: asm::ap_relocated_func_addr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:267,1
    - Dst: asm::ap_relocated_func_size
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:268,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:271,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:272,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:279,1
    - Dst: len
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:283,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:283,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:285,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:287,1
    - Dst: set_wakeup_vector
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:291,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:293,1
    - Dst: set_command
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:296,1
    - Dst: set_apic_id
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:297,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - new_mailbox
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 300
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 300
    functionName: relocate_mailbox
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 1
    functionsReached:
    - len
    - asm::ap_relocated_func_size
    - core::slice::from_raw_parts
    - copy_from_slice
    - '&mut [u8]::as_ptr'
    - MailBox::new
    - set_fw_arg
    - set_apic_id
    - td_layout::memslice::get_mem_slice_mut
    - Ok
    - '&mut [u8]::len'
    - set_command
    - set_wakeup_vector
    - Err
    - asm::ap_relocated_func_addr
    linkageType: ''
    returnType: Result
    signature: 'pub fn relocate_mailbox(new_mailbox: &mut [u8]) -> Result<(), MailboxError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::tdx_mailbox::relocate_page_table
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx.rs:36,1
    - Dst: get_num_vcpus
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page_table_base
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: relocate_ap_page_table
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx.rs
    functionUses: 0
    functionsReached:
    - get_num_vcpus
    - super::tdx_mailbox::relocate_page_table
    linkageType: ''
    returnType: void
    signature: 'pub fn relocate_ap_page_table(page_table_base: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_apic_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:339,1
    - Dst: ap_set_idt
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu_num
    - idt_ptr
    argTypes:
    - u32
    - '&DescriptorTablePointer'
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: set_idt
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 2
    functionsReached:
    - ap_set_idt
    - make_apic_range
    linkageType: ''
    returnType: void
    signature: 'pub fn set_idt(cpu_num: u32, idt_ptr: &DescriptorTablePointer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 13
    functionName: get_num_vcpus
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/dummy.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn get_num_vcpus() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _data
    - _pcr_index
    argTypes:
    - '&[u8]'
    - u32
    constantsTouched: []
    func_position:
      end: 15
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 15
    functionName: extend_rtmr
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/dummy.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn extend_rtmr(_data: &[u8], _pcr_index: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::read_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - '*const T'
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: MailBox::read_volatile
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - core::ptr::read_volatile
    linkageType: ''
    returnType: T
    signature: 'fn read_volatile<T>(src: *const T) -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::write_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - '*mut T'
    - T
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: MailBox::write_volatile
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - core::ptr::write_volatile
    linkageType: ''
    returnType: void
    signature: 'fn write_volatile<T>(dst: *mut T, src: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: MailBox::new
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: MailBox
    signature: 'fn new(buffer: &mut [u8]) -> MailBox'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:76,1
    - Dst: MailBox::read_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: MailBox::apic_id
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::read_volatile
    - as_ptr
    linkageType: ''
    returnType: u32
    signature: fn apic_id(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:82,1
    - Dst: MailBox::read_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: MailBox::fw_arg
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::read_volatile
    - as_ptr
    linkageType: ''
    returnType: u64
    signature: 'fn fw_arg(&self, index: usize) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:87,1
    - Dst: MailBox::read_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: MailBox::cpu_arrival
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::read_volatile
    - as_ptr
    linkageType: ''
    returnType: u32
    signature: fn cpu_arrival(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:92,1
    - Dst: MailBox::read_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: MailBox::cpu_exiting
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::read_volatile
    - as_ptr
    linkageType: ''
    returnType: u32
    signature: fn cpu_exiting(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:97,1
    - Dst: MailBox::write_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - command
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: MailBox::set_command
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::write_volatile
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn set_command(&mut self, command: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:102,1
    - Dst: MailBox::write_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - apic_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: MailBox::set_apic_id
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::write_volatile
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn set_apic_id(&mut self, apic_id: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:107,1
    - Dst: MailBox::write_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - wakeup_vector
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: MailBox::set_wakeup_vector
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::write_volatile
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn set_wakeup_vector(&mut self, wakeup_vector: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:113,1
    - Dst: MailBox::write_volatile
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - index
    - fw_arg
    argTypes:
    - usize
    - u64
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: MailBox::set_fw_arg
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - MailBox::write_volatile
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn set_fw_arg(&mut self, index: usize, fw_arg: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: cpu_pause
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn cpu_pause()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RangeInclusive::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - end
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: make_apic_range
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 2
    functionsReached:
    - RangeInclusive::new
    linkageType: ''
    returnType: RangeInclusive
    signature: 'fn make_apic_range(end: u32) -> RangeInclusive<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut MailBox::apic_id'
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:133,1
    - Dst: x86::fence::mfence
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:134,1
    - Dst: '&mut MailBox::set_command'
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:135,1
    - Dst: cpu_pause
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - mail_box
    argTypes:
    - '&mut MailBox'
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: wait_for_ap_response
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - '&mut MailBox::apic_id'
    - cpu_pause
    - x86::fence::mfence
    - '&mut MailBox::set_command'
    linkageType: ''
    returnType: void
    signature: 'fn wait_for_ap_response(mail_box: &mut MailBox)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:147,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:147,1
    - Dst: make_apic_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:148,1
    - Dst: set_command
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:149,1
    - Dst: x86::fence::mfence
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:150,1
    - Dst: set_apic_id
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:151,1
    - Dst: wait_for_ap_response
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ap_num
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: wait_for_ap_arrive
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 1
    functionsReached:
    - x86::fence::mfence
    - MailBox::new
    - make_apic_range
    - set_apic_id
    - td_layout::memslice::get_mem_slice_mut
    - wait_for_ap_response
    - set_command
    linkageType: ''
    returnType: void
    signature: 'fn wait_for_ap_arrive(ap_num: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:159,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:159,1
    - Dst: set_wakeup_vector
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:161,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:162,1
    - Dst: set_command
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:163,1
    - Dst: x86::fence::mfence
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:164,1
    - Dst: set_apic_id
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:165,1
    - Dst: wait_for_ap_response
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - cpu_index
    - stack_top
    - entry
    argTypes:
    - u32
    - u64
    - u32
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: ap_assign_work
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 1
    functionsReached:
    - x86::fence::mfence
    - set_fw_arg
    - MailBox::new
    - set_apic_id
    - td_layout::memslice::get_mem_slice_mut
    - wait_for_ap_response
    - set_command
    - set_wakeup_vector
    linkageType: ''
    returnType: void
    signature: 'pub fn ap_assign_work(cpu_index: u32, stack_top: u64, entry: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:173,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:173,1
    - Dst: fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:177,1
    - Dst: fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:178,1
    - Dst: fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:179,1
    - Dst: core::cmp::min
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:185,1
    - Dst: td_accept_pages
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - cpu_index
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: parallel_accept_memory
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 1
    functionsReached:
    - MailBox::new
    - fw_arg
    - td_layout::memslice::get_mem_slice_mut
    - core::cmp::min
    - td_accept_pages
    linkageType: ''
    returnType: void
    signature: 'extern "win64" fn parallel_accept_memory(cpu_index: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:305,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:305,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:308,1
    - Dst: set_command
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:311,1
    - Dst: set_apic_id
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:312,1
    - Dst: wait_for_ap_response
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - cpu_index
    - cr3
    argTypes:
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: ap_set_cr3
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 0
    functionsReached:
    - set_fw_arg
    - MailBox::new
    - set_apic_id
    - td_layout::memslice::get_mem_slice_mut
    - wait_for_ap_response
    - set_command
    linkageType: ''
    returnType: void
    signature: 'fn ap_set_cr3(cpu_index: u32, cr3: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MailBox::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:320,1
    - Dst: td_layout::memslice::get_mem_slice_mut
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:320,1
    - Dst: set_fw_arg
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:323,1
    - Dst: set_command
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:326,1
    - Dst: set_apic_id
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:327,1
    - Dst: wait_for_ap_response
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - cpu_index
    - idt_ptr
    argTypes:
    - u32
    - '&DescriptorTablePointer'
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: ap_set_idt
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 1
    functionsReached:
    - set_fw_arg
    - MailBox::new
    - set_apic_id
    - td_layout::memslice::get_mem_slice_mut
    - wait_for_ap_response
    - set_command
    linkageType: ''
    returnType: void
    signature: 'fn ap_set_idt(cpu_index: u32, idt_ptr: &DescriptorTablePointer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_apic_range
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:333,1
    - Dst: ap_set_cr3
      Src: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cpu_num
    - page_table_base
    argTypes:
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: relocate_page_table
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
    functionUses: 1
    functionsReached:
    - ap_set_cr3
    - make_apic_range
    linkageType: ''
    returnType: void
    signature: 'pub fn relocate_page_table(cpu_num: u32, page_table_base: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetupHeader::from_file
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:33,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:36,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:41,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:52,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:53,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 2
    argNames:
    - kernel_image
    - kernel_parameter
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 56
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 56
    functionName: setup_header
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_ptr'
    - Ok
    - SetupHeader::from_file
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn setup_header(kernel_image: &[u8], kernel_parameter: &[u8])
      -> Result<SetupHeader, Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BootParams::default
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:67,1
    - Dst: E820Table::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:69,1
    - Dst: E820Table::len
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:70,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:70,1
    - Dst: TdPayloadInfoHobType::from
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:76,1
    - Dst: setup_header
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:79,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:87,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:88,1
    - Dst: Err
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:91,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:96,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:97,1
    - Dst: as_ptr
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:97,1
    - Dst: 'x86_64::

        instructions::tables::lgdt'
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:101,1
    - Dst: seg::CS::set_reg
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:102,1
    - Dst: seg::SegmentSelector::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:102,1
    - Dst: seg::DS::set_reg
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:103,1
    - Dst: seg::SegmentSelector::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:103,1
    - Dst: seg::ES::set_reg
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:104,1
    - Dst: seg::SegmentSelector::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:104,1
    - Dst: seg::SS::set_reg
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:105,1
    - Dst: seg::SegmentSelector::new
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:105,1
    - Dst: x86_64::instructions::interrupts::disable
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:106,1
    - Dst: switch_idt
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:113,1
    - Dst: td::relocate_mailbox
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:116,1
    - Dst: core::mem::transmute
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:119,1
    - Dst: entry64
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:120,1
    - Dst: Ok
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 107
    argCount: 7
    argNames:
    - kernel
    - kernel_parameter
    - rsdp_addr
    - e820
    - mailbox
    - info
    - unaccepted_bitmap
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - u64
    - '&[E820Entry]'
    - '&mut [u8]'
    - '&PayloadInfo'
    - u64
    constantsTouched: []
    func_position:
      end: 123
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 123
    functionName: boot_kernel
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs
    functionUses: 1
    functionsReached:
    - switch_idt
    - seg::DS::set_reg
    - seg::ES::set_reg
    - seg::CS::set_reg
    - td::relocate_mailbox
    - seg::SegmentSelector::new
    - Ok
    - x86_64::instructions::interrupts::disable
    - TdPayloadInfoHobType::from
    - E820Table::len
    - setup_header
    - size_of::<u64>
    - as_ptr
    - seg::SS::set_reg
    - VirtAddr::new
    - BootParams::default
    - Err
    - core::mem::transmute
    - copy_from_slice
    - '&[u8]::as_ptr'
    - 'x86_64::

      instructions::tables::lgdt'
    - '&[u8]::len'
    - entry64
    linkageType: ''
    returnType: Result
    signature: 'pub fn boot_kernel(kernel: &[u8],kernel_parameter: &[u8],rsdp_addr:
      u64,e820: &[E820Entry],mailbox: &mut [u8],info: &PayloadInfo,#[cfg(feature =
      "tdx")] unaccepted_bitmap: u64,) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SetupHeader::read_from_bytes
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs:67,1
    - Dst: size_of::<SetupHeader>
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs:67,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - kernel_file
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: SetupHeader::from_file
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs
    functionUses: 1
    functionsReached:
    - size_of::<SetupHeader>
    - SetupHeader::read_from_bytes
    - Option::unwrap
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_file(kernel_file: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::zeroed
      Src: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: BootParams::default
    functionSourceFile: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs
    functionUses: 1
    functionsReached:
    - core::mem::zeroed
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fuzzlib::fuzz_secure_boot_payload
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/secure_boot_payload.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: fuzz_target
    functionSourceFile: /src/td-shim/td-shim/fuzz/fuzz_targets/secure_boot_payload.rs
    functionUses: 0
    functionsReached:
    - fuzzlib::fuzz_secure_boot_payload
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadVerifier::new
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:10,1
    - Dst: PayloadVerifier::get_trust_anchor
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:11,1
    - Dst: is_ok
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:12,1
    - Dst: Result::is_ok
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:12,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:13,1
    - Dst: '&[u8]::unwrap'
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:13,1
    - Dst: verify
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:13,1
    - Dst: is_ok
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:13,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:14,1
    - Dst: get_payload_svn
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:14,1
    - Dst: PayloadVerifier::get_payload_image
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:15,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 5
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: fuzz_secure_boot_payload
    functionSourceFile: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 1
    functionsReached:
    - Result::is_ok
    - as_ref
    - verify
    - is_ok
    - PayloadVerifier::get_trust_anchor
    - '&[u8]::unwrap'
    - unwrap
    - get_payload_svn
    - PayloadVerifier::get_payload_image
    - PayloadVerifier::new
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_secure_boot_payload(buffer: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PayloadVerifier::new
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:22,1
    - Dst: PayloadVerifier::get_trust_anchor
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:23,1
    - Dst: is_ok
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:24,1
    - Dst: Result::is_ok
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:24,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: '&[u8]::unwrap'
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: verify
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: is_ok
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:26,1
    - Dst: get_payload_svn
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:26,1
    - Dst: PayloadVerifier::get_payload_image
      Src: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: fuzz_secure_boot_cfv
    functionSourceFile: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 0
    functionsReached:
    - Result::is_ok
    - as_ref
    - verify
    - is_ok
    - PayloadVerifier::get_trust_anchor
    - '&[u8]::unwrap'
    - unwrap
    - get_payload_svn
    - PayloadVerifier::get_payload_image
    - PayloadVerifier::new
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_secure_boot_cfv(buffer: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-exception/src/idt.rs:46,1
    - Dst: register_handler
      Src: /src/td-shim/td-exception/src/idt.rs:46,1
    - Dst: load_idtr
      Src: /src/td-shim/td-exception/src/idt.rs:47,1
    - Dst: lock
      Src: /src/td-shim/td-exception/src/idt.rs:47,1
    - Dst: idtr
      Src: /src/td-shim/td-exception/src/idt.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - index
    - func
    argTypes:
    - u8
    - unsafe extern "C" fn()
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: register_handler
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 1
    functionsReached:
    - idtr
    - load_idtr
    - register_handler
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn register_handler(index: u8, func: unsafe extern "C"
      fn())'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/td-shim/td-exception/src/idt.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Idt::default
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdtEntry::new
      Src: /src/td-shim/td-exception/src/idt.rs:67,1
    - Dst: init
      Src: /src/td-shim/td-exception/src/idt.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Idt::new
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - IdtEntry::new
    - init
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/td-shim/td-exception/src/idt.rs:85,1
    - Dst: enumerate
      Src: /src/td-shim/td-exception/src/idt.rs:85,1
    - Dst: take
      Src: /src/td-shim/td-exception/src/idt.rs:85,1
    - Dst: set_func
      Src: /src/td-shim/td-exception/src/idt.rs:86,1
    - Dst: interrupt::init_interrupt_callbacks
      Src: /src/td-shim/td-exception/src/idt.rs:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: Idt::init
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - iter_mut
    - set_func
    - enumerate
    - take
    - interrupt::init_interrupt_callbacks
    linkageType: ''
    returnType: void
    signature: pub fn init(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-exception/src/idt.rs:96,1
    - Dst: mem::size_of::<IdtEntry>
      Src: /src/td-shim/td-exception/src/idt.rs:96,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-exception/src/idt.rs:97,1
    - Dst: as_ptr
      Src: /src/td-shim/td-exception/src/idt.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: Idt::idtr
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - VirtAddr::new
    - len
    - as_ptr
    - mem::size_of::<IdtEntry>
    linkageType: ''
    returnType: DescriptorTablePointer
    signature: pub fn idtr(&self) -> DescriptorTablePointer
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_func
      Src: /src/td-shim/td-exception/src/idt.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - index
    - func
    argTypes:
    - u8
    - unsafe extern "C" fn()
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: Idt::register_handler
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - set_func
    linkageType: ''
    returnType: void
    signature: 'pub fn register_handler(&mut self, index: u8, func: unsafe extern
      "C" fn())'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: IdtEntry::new
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: IdtEntry
    signature: pub const fn new() -> IdtEntry
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flags
    argTypes:
    - IdtFlags
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: IdtEntry::set_flags
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_flags(&mut self, flags: IdtFlags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - selector
    - base
    argTypes:
    - u16
    - usize
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: IdtEntry::set_offset
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_offset(&mut self, selector: u16, base: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IdtEntry::set_flags
      Src: /src/td-shim/td-exception/src/idt.rs:159,1
    - Dst: IdtEntry::set_offset
      Src: /src/td-shim/td-exception/src/idt.rs:160,1
    - Dst: CS::get_reg
      Src: /src/td-shim/td-exception/src/idt.rs:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - func
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: IdtEntry::set_func
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - IdtEntry::set_flags
    - IdtEntry::set_offset
    - CS::get_reg
    linkageType: ''
    returnType: void
    signature: 'pub fn set_func(&mut self, func: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - index
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: IdtEntry::set_ist
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_ist(&mut self, index: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86_64::instructions::tables::sidt
      Src: /src/td-shim/td-exception/src/idt.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: store_idtr
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - x86_64::instructions::tables::sidt
    linkageType: ''
    returnType: DescriptorTablePointer
    signature: pub fn store_idtr() -> DescriptorTablePointer
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_u64
      Src: /src/td-shim/td-exception/src/idt.rs:182,1
    - Dst: size_of::<IdtEntry>
      Src: /src/td-shim/td-exception/src/idt.rs:183,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-exception/src/idt.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - idtr
    argTypes:
    - '&DescriptorTablePointer'
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: read_idt
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 0
    functionsReached:
    - as_u64
    - size_of::<IdtEntry>
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: '&''static mut [IdtEntry]'
    signature: 'pub unsafe fn read_idt(idtr: &DescriptorTablePointer) -> &''static
      mut [IdtEntry]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'x86_64::

        instructions::tables::lidt'
      Src: /src/td-shim/td-exception/src/idt.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - idtr
    argTypes:
    - '&DescriptorTablePointer'
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: load_idtr
    functionSourceFile: /src/td-shim/td-exception/src/idt.rs
    functionUses: 2
    functionsReached:
    - 'x86_64::

      instructions::tables::lidt'
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn load_idtr(idtr: &DescriptorTablePointer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: idt::init
      Src: /src/td-shim/td-exception/src/lib.rs:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 2
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: setup_exception_handlers
    functionSourceFile: /src/td-shim/td-exception/src/lib.rs
    functionUses: 1
    functionsReached:
    - idt::init
    linkageType: ''
    returnType: void
    signature: pub fn setup_exception_handlers()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: ScratchRegisters::dump
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: PreservedRegisters::dump
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: IretRegisters::dump
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:87,1
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:90,1
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: InterruptStack::dump
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - dump
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - func
    argTypes:
    - fn(&mut InterruptStack)
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: InterruptCallback::new
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new(func: fn(&mut InterruptStack)) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InterruptCallback::new
      Src: /src/td-shim/td-exception/src/interrupt.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: InterruptCallbackTable::init
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - InterruptCallback::new
    linkageType: ''
    returnType: Self
    signature: const fn init() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-exception/src/interrupt.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 149
    functionName: init_interrupt_callbacks
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 1
    functionsReached:
    - lock
    linkageType: ''
    returnType: void
    signature: pub(crate) fn init_interrupt_callbacks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/td-exception/src/interrupt.rs:156,1
    - Dst: lock
      Src: /src/td-shim/td-exception/src/interrupt.rs:158,1
    - Dst: Ok
      Src: /src/td-shim/td-exception/src/interrupt.rs:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - index
    - callback
    argTypes:
    - usize
    - InterruptCallback
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: register_interrupt_callback
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    - lock
    linkageType: ''
    returnType: Result
    signature: 'pub fn register_interrupt_callback(index: usize,callback: InterruptCallback,)
      -> Result<(), ExceptionError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: eoi
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn eoi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-exception/src/interrupt.rs:188,1
    - Dst: func
      Src: /src/td-shim/td-exception/src/interrupt.rs:189,1
    - Dst: eoi
      Src: /src/td-shim/td-exception/src/interrupt.rs:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: generic_interrupt_handler
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - func
    - lock
    - eoi
    linkageType: ''
    returnType: void
    signature: 'fn generic_interrupt_handler(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:202,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: default_callback
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn default_callback(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:218,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: divide_by_zero
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn divide_by_zero(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:224,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: debug
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn debug(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:230,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: non_maskable
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn non_maskable(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:236,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: breakpoint
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn breakpoint(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:242,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: overflow
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn overflow(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:248,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: bound_range
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn bound_range(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:254,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: invalid_opcode
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn invalid_opcode(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:260,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: device_not_available
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn device_not_available(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:266,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: double_fault
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn double_fault(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:272,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: invalid_tss
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn invalid_tss(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:278,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: segment_not_present
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn segment_not_present(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:284,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: stack_segment
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn stack_segment(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:290,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: protection
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn protection(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:300,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: page
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 1
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn page(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:306,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: fpu
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn fpu(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:312,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: alignment_check
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn alignment_check(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:318,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: machine_check
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn machine_check(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:324,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: simd
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn simd(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:330,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: control_flow
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - deadloop
    - dump
    linkageType: ''
    returnType: void
    signature: 'fn control_flow(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdcall_get_ve_info
      Src: /src/td-shim/td-exception/src/interrupt.rs:358,1
    - Dst: Result::expect
      Src: /src/td-shim/td-exception/src/interrupt.rs:358,1
    - Dst: tdx::tdvmcall_halt
      Src: /src/td-shim/td-exception/src/interrupt.rs:363,1
    - Dst: handle_tdx_ioexit
      Src: /src/td-shim/td-exception/src/interrupt.rs:366,1
    - Dst: tdx::tdvmcall_halt
      Src: /src/td-shim/td-exception/src/interrupt.rs:367,1
    - Dst: tdx::tdvmcall_rdmsr
      Src: /src/td-shim/td-exception/src/interrupt.rs:371,1
    - Dst: Result::expect
      Src: /src/td-shim/td-exception/src/interrupt.rs:371,1
    - Dst: tdx::tdvmcall_wrmsr
      Src: /src/td-shim/td-exception/src/interrupt.rs:378,1
    - Dst: Result::expect
      Src: /src/td-shim/td-exception/src/interrupt.rs:378,1
    - Dst: tdx::tdvmcall_cpuid
      Src: /src/td-shim/td-exception/src/interrupt.rs:382,1
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:400,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:401,1
    - Dst: dump
      Src: /src/td-shim/td-exception/src/interrupt.rs:423,1
    - Dst: deadloop
      Src: /src/td-shim/td-exception/src/interrupt.rs:424,1
    - Dst: Msr::new
      Src: /src/td-shim/td-exception/src/interrupt.rs:442,1
    - Dst: Result::read
      Src: /src/td-shim/td-exception/src/interrupt.rs:445,1
    - Dst: Cr4::read
      Src: /src/td-shim/td-exception/src/interrupt.rs:446,1
    - Dst: is_empty
      Src: /src/td-shim/td-exception/src/interrupt.rs:446,1
    - Dst: Result::write
      Src: /src/td-shim/td-exception/src/interrupt.rs:468,1
    - Dst: Result::read
      Src: /src/td-shim/td-exception/src/interrupt.rs:468,1
    - Dst: Result::write
      Src: /src/td-shim/td-exception/src/interrupt.rs:478,1
    - Dst: Result::read
      Src: /src/td-shim/td-exception/src/interrupt.rs:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 171
    argCount: 1
    argNames:
    - stack
    argTypes:
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 480
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 480
    functionName: virtualization
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 0
    functionsReached:
    - tdx::tdvmcall_rdmsr
    - Result::read
    - Result::write
    - Cr4::read
    - dump
    - tdx::tdvmcall_cpuid
    - Result::expect
    - is_empty
    - handle_tdx_ioexit
    - tdx::tdvmcall_halt
    - deadloop
    - Msr::new
    - tdx::tdcall_get_ve_info
    - tdx::tdvmcall_wrmsr
    linkageType: ''
    returnType: void
    signature: 'fn virtualization(stack: &mut InterruptStack)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdvmcall_io_read_8
      Src: /src/td-shim/td-exception/src/interrupt.rs:506,1
    - Dst: tdx::tdvmcall_io_read_16
      Src: /src/td-shim/td-exception/src/interrupt.rs:507,1
    - Dst: tdx::tdvmcall_io_read_32
      Src: /src/td-shim/td-exception/src/interrupt.rs:508,1
    - Dst: tdx::tdvmcall_io_write_8
      Src: /src/td-shim/td-exception/src/interrupt.rs:514,1
    - Dst: tdx::tdvmcall_io_write_16
      Src: /src/td-shim/td-exception/src/interrupt.rs:515,1
    - Dst: tdx::tdvmcall_io_write_32
      Src: /src/td-shim/td-exception/src/interrupt.rs:516,1
    - Dst: io_read
      Src: /src/td-shim/td-exception/src/interrupt.rs:524,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-exception/src/interrupt.rs:526,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-exception/src/interrupt.rs:528,1
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-exception/src/interrupt.rs:528,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-exception/src/interrupt.rs:534,1
    - Dst: iter
      Src: /src/td-shim/td-exception/src/interrupt.rs:535,1
    - Dst: enumerate
      Src: /src/td-shim/td-exception/src/interrupt.rs:535,1
    - Dst: io_write
      Src: /src/td-shim/td-exception/src/interrupt.rs:539,1
    - Dst: pow
      Src: /src/td-shim/td-exception/src/interrupt.rs:546,1
    - Dst: io_read
      Src: /src/td-shim/td-exception/src/interrupt.rs:547,1
    - Dst: pow
      Src: /src/td-shim/td-exception/src/interrupt.rs:547,1
    - Dst: io_write
      Src: /src/td-shim/td-exception/src/interrupt.rs:549,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 136
    argCount: 2
    argNames:
    - ve_info
    - stack
    argTypes:
    - '&tdx::TdVeInfo'
    - '&mut InterruptStack'
    constantsTouched: []
    func_position:
      end: 553
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 553
    functionName: handle_tdx_ioexit
    functionSourceFile: /src/td-shim/td-exception/src/interrupt.rs
    functionUses: 1
    functionsReached:
    - core::slice::from_raw_parts
    - pow
    - copy_from_slice
    - tdx::tdvmcall_io_read_16
    - tdx::tdvmcall_io_write_32
    - tdx::tdvmcall_io_write_16
    - iter
    - io_write
    - tdx::tdvmcall_io_read_32
    - enumerate
    - u32::to_le_bytes
    - tdx::tdvmcall_io_write_8
    - io_read
    - tdx::tdvmcall_io_read_8
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: bool
    signature: 'fn handle_tdx_ioexit(ve_info: &tdx::TdVeInfo, stack: &mut InterruptStack)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/td-payload/src/hob.rs:41,1
    - Dst: copied
      Src: /src/td-shim/td-payload/src/hob.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 7
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: get_hob
    functionSourceFile: /src/td-shim/td-payload/src/hob.rs
    functionUses: 3
    functionsReached:
    - copied
    - get
    linkageType: ''
    returnType: Option
    signature: pub fn get_hob() -> Option<&'static [u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial::serial_write_string
      Src: /src/td-shim/td-payload/src/console.rs:15,1
    - Dst: Ok
      Src: /src/td-shim/td-payload/src/console.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: Console::write_str
    functionSourceFile: /src/td-shim/td-payload/src/console.rs
    functionUses: 0
    functionsReached:
    - serial::serial_write_string
    - Ok
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn write_str(&mut self, s: &str) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/lib.rs:45,1
    - Dst: write_fmt
      Src: /src/td-shim/td-payload/src/lib.rs:45,1
    - Dst: expect
      Src: /src/td-shim/td-payload/src/lib.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - Arguments
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: console
    functionSourceFile: /src/td-shim/td-payload/src/lib.rs
    functionUses: 0
    functionsReached:
    - write_fmt
    - expect
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn console(args: Arguments)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: print
    functionSourceFile: /src/td-shim/td-payload/src/lib.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: println
    functionSourceFile: /src/td-shim/td-payload/src/lib.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-payload/src/acpi.rs:21,1
    - Dst: Result::pread
      Src: /src/td-shim/td-payload/src/acpi.rs:26,1
    - Dst: map_err
      Src: /src/td-shim/td-payload/src/acpi.rs:26,1
    - Dst: Result::pread
      Src: /src/td-shim/td-payload/src/acpi.rs:30,1
    - Dst: map_err
      Src: /src/td-shim/td-payload/src/acpi.rs:30,1
    - Dst: as_bytes
      Src: /src/td-shim/td-payload/src/acpi.rs:31,1
    - Dst: u64::push
      Src: /src/td-shim/td-payload/src/acpi.rs:32,1
    - Dst: parse_guided_hob
      Src: /src/td-shim/td-payload/src/acpi.rs:32,1
    - Dst: hob_lib::align_to_next_hob_offset
      Src: /src/td-shim/td-payload/src/acpi.rs:41,1
    - Dst: Option::len
      Src: /src/td-shim/td-payload/src/acpi.rs:41,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-payload/src/acpi.rs:41,1
    - Dst: call_once
      Src: /src/td-shim/td-payload/src/acpi.rs:45,1
    - Dst: Ok
      Src: /src/td-shim/td-payload/src/acpi.rs:47,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - hob
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 48
      start: 20
    functionDepth: 4
    functionLinenumber: 20
    functionLinenumberEnd: 48
    functionName: init_acpi_tables
    functionSourceFile: /src/td-shim/td-payload/src/acpi.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Option::ok_or
    - Vec::new
    - u64::push
    - Ok
    - as_bytes
    - hob_lib::align_to_next_hob_offset
    - Option::len
    - call_once
    - parse_guided_hob
    - Result::pread
    linkageType: ''
    returnType: Result
    signature: 'pub fn init_acpi_tables(hob: &''static [u8]) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hob_lib::get_guid_data
      Src: /src/td-shim/td-payload/src/mm/mod.rs:110,1
    - Dst: Option::len
      Src: /src/td-shim/td-payload/src/mm/mod.rs:111,1
    - Dst: size_of::<E820Entry>
      Src: /src/td-shim/td-payload/src/mm/mod.rs:111,1
    - Dst: E820Entry::read_from_bytes
      Src: /src/td-shim/td-payload/src/mm/mod.rs:113,1
    - Dst: size_of::<E820Entry>
      Src: /src/td-shim/td-payload/src/mm/mod.rs:114,1
    - Dst: size_of::<E820Entry>
      Src: /src/td-shim/td-payload/src/mm/mod.rs:114,1
    - Dst: Option::ok
      Src: /src/td-shim/td-payload/src/mm/mod.rs:113,1
    - Dst: E820Entry::default
      Src: /src/td-shim/td-payload/src/mm/mod.rs:119,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/mm/mod.rs:127,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-payload/src/mm/mod.rs:127,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/td-payload/src/mm/mod.rs:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - guided_hob
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 128
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 128
    functionName: parse_guided_hob
    functionSourceFile: /src/td-shim/td-payload/src/mm/mod.rs
    functionUses: 1
    functionsReached:
    - hob_lib::get_guid_data
    - core::slice::from_raw_parts
    - size_of::<E820Entry>
    - E820Entry::default
    - Some
    - Option::as_ptr
    - Option::len
    - Option::ok
    - E820Entry::read_from_bytes
    linkageType: ''
    returnType: Option
    signature: 'fn parse_guided_hob(guided_hob: &''static [u8]) -> Option<&''static
      [E820Entry]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/td-payload/src/acpi.rs:57,1
    - Dst: map
      Src: /src/td-shim/td-payload/src/acpi.rs:57,1
    - Dst: TestResult::as_slice
      Src: /src/td-shim/td-payload/src/acpi.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 7
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: get_acpi_tables
    functionSourceFile: /src/td-shim/td-payload/src/acpi.rs
    functionUses: 0
    functionsReached:
    - map
    - TestResult::as_slice
    - get
    linkageType: ''
    returnType: Option
    signature: pub fn get_acpi_tables() -> Option<&'static [AcpiTable]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: io_write
      Src: /src/td-shim/td-payload/src/arch/x86_64/serial.rs:8,1
    - Dst: io_write
      Src: /src/td-shim/td-payload/src/arch/x86_64/serial.rs:10,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 11
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 11
    functionName: serial_write_byte
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/serial.rs
    functionUses: 0
    functionsReached:
    - io_write
    linkageType: ''
    returnType: void
    signature: 'fn serial_write_byte(byte: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::chars'
      Src: /src/td-shim/td-payload/src/arch/x86_64/serial.rs:15,1
    - Dst: serial_write_byte
      Src: /src/td-shim/td-payload/src/arch/x86_64/serial.rs:16,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 18
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 18
    functionName: serial_write_string
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/serial.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::chars'
    - serial_write_byte
    linkageType: ''
    returnType: void
    signature: 'pub fn serial_write_string(s: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::io::outb
      Src: /src/td-shim/td-payload/src/arch/x86_64/serial.rs:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: io_write
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/serial.rs
    functionUses: 2
    functionsReached:
    - x86::io::outb
    linkageType: ''
    returnType: void
    signature: 'fn io_write(byte: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 2
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: init_idt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/idt.rs
    functionUses: 0
    functionsReached:
    - init
    linkageType: ''
    returnType: void
    signature: pub unsafe fn init_idt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register_handler
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - vector
    - func
    argTypes:
    - u8
    - unsafe extern "C" fn()
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 6
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: register
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/idt.rs
    functionUses: 0
    functionsReached:
    - register_handler
    linkageType: ''
    returnType: void
    signature: 'pub fn register(vector: u8, func: unsafe extern "C" fn())'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: store_idtr
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:27,1
    - Dst: read_idt
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:28,1
    - Dst: usize::from
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:29,1
    - Dst: '&''static mut [IdtEntry]::len'
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:29,1
    - Dst: set_ist
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:30,1
    - Dst: load_idtr
      Src: /src/td-shim/td-payload/src/arch/x86_64/idt.rs:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - vector
    - index
    argTypes:
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: idt_set_ist
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/idt.rs
    functionUses: 0
    functionsReached:
    - store_idtr
    - load_idtr
    - usize::from
    - read_idt
    - '&''static mut [IdtEntry]::len'
    - set_ist
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn idt_set_ist(vector: u8, index: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:21,1
    - Dst: add_entry
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:23,1
    - Dst: Descriptor::UserSegment
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:23,1
    - Dst: bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:24,1
    - Dst: add_entry
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:26,1
    - Dst: Descriptor::kernel_code_segment
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:26,1
    - Dst: add_entry
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:27,1
    - Dst: Descriptor::kernel_code_segment
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:27,1
    - Dst: add_entry
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:28,1
    - Dst: Descriptor::kernel_data_segment
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:28,1
    - Dst: load_unsafe
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:29,1
    - Dst: CS::set_reg
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:31,1
    - Dst: DS::set_reg
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:32,1
    - Dst: ES::set_reg
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:33,1
    - Dst: SS::set_reg
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:34,1
    - Dst: FS::set_reg
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:35,1
    - Dst: GS::set_reg
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:36,1
    - Dst: init_tss
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: init_gdt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs
    functionUses: 0
    functionsReached:
    - bits
    - add_entry
    - load_unsafe
    - SS::set_reg
    - FS::set_reg
    - Descriptor::UserSegment
    - Descriptor::kernel_data_segment
    - GS::set_reg
    - DS::set_reg
    - Descriptor::kernel_code_segment
    - ES::set_reg
    - init_tss
    - CS::set_reg
    - lock
    linkageType: ''
    returnType: void
    signature: pub fn init_gdt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:43,1
    - Dst: bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:45,1
    - Dst: set_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:47,1
    - Dst: TdxMetadataPtr::get_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:47,1
    - Dst: set_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:48,1
    - Dst: TdxMetadataPtr::get_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:48,1
    - Dst: set_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:50,1
    - Dst: size_of::<TaskStateSegment>
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:50,1
    - Dst: set_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:52,1
    - Dst: set_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:55,1
    - Dst: TdxMetadataPtr::get_bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:55,1
    - Dst: Descriptor::SystemSegment
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:57,1
    - Dst: add_entry
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:58,1
    - Dst: load_unsafe
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:60,1
    - Dst: x86_64::instructions::tables::load_tss
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 1
    argNames:
    - gdt
    argTypes:
    - '&mut GlobalDescriptorTable'
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: init_tss
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs
    functionUses: 1
    functionsReached:
    - bits
    - set_bits
    - add_entry
    - TdxMetadataPtr::get_bits
    - size_of::<TaskStateSegment>
    - load_unsafe
    - x86_64::instructions::tables::load_tss
    - Descriptor::SystemSegment
    - lock
    linkageType: ''
    returnType: void
    signature: 'unsafe fn init_tss(gdt: &mut GlobalDescriptorTable)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:67,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:68,1
    - Dst: lock
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:70,1
    - Dst: load_unsafe
      Src: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - index
    - stack
    argTypes:
    - u8
    - u64
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 4
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: tss_set_ist
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs
    functionUses: 0
    functionsReached:
    - load_unsafe
    - VirtAddr::new
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn tss_set_ist(index: u8, stack: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        mm::page_table::alloc_pt_frame'
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:31,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:32,1
    - Dst: PhysFrame::containing_address
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:32,1
    - Dst: PhysAddr::try_new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:33,1
    - Dst: Result::ok
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: FrameAlloc::allocate_frame
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - PhysFrame::containing_address
    - PhysAddr::try_new
    - Result::ok
    - Some
    - '{

      mm::page_table::alloc_pt_frame'
    linkageType: ''
    returnType: Option
    signature: fn allocate_frame(&mut self) -> Option<PhysFrame<Size4KiB>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_pt_frame
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:40,1
    - Dst: Option::start_address
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:40,1
    - Dst: as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - frame
    argTypes:
    - PhysFrame<Size4KiB>
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: FrameAlloc::deallocate_frame
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - Option::start_address
    - free_pt_frame
    - as_u64
    linkageType: ''
    returnType: void
    signature: 'unsafe fn deallocate_frame(&mut self, frame: PhysFrame<Size4KiB>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '{

        mm::page_table::alloc_pt_frame'
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:46,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:46,1
    - Dst: OffsetPageTable::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:49,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:49,1
    - Dst: identity_map
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:56,1
    - Dst: identity_map
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:58,1
    - Dst: td_paging::cr3_write
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:64,1
    - Dst: Ok
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:65,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - memory_map
    argTypes:
    - '&[E820Entry]'
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: setup_paging
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 1
    functionsReached:
    - td_paging::cr3_write
    - OffsetPageTable::new
    - Option::ok_or
    - Ok
    - VirtAddr::new
    - identity_map
    - '{

      mm::page_table::alloc_pt_frame'
    linkageType: ''
    returnType: Result
    signature: 'pub fn setup_paging(memory_map: &[E820Entry]) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::checked_add
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:71,1
    - Dst: is_none
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:71,1
    - Dst: Err
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:75,1
    - Dst: identity_map_page::<Size4KiB>
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:82,1
    - Dst: map_err
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:82,1
    - Dst: Ok
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - pt
    - address
    - size
    argTypes:
    - '&mut OffsetPageTable'
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 92
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 92
    functionName: identity_map
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 1
    functionsReached:
    - map_err
    - identity_map_page::<Size4KiB>
    - is_none
    - u64::checked_add
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn identity_map(pt: &mut OffsetPageTable, address: u64, size:
      u64) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PhysFrame::containing_address
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:103,1
    - Dst: PhysAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:103,1
    - Dst: OffsetPageTable::identity_map
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:106,1
    - Dst: Result::map
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:106,1
    - Dst: flush
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:107,1
    - Dst: TestResult::map_err
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - pt
    - address
    - flags
    - frame_allocator
    argTypes:
    - '&mut OffsetPageTable<''a>'
    - u64
    - Flags
    - '&mut FrameAlloc'
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: identity_map_page
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - TestResult::map_err
    - Result::map
    - PhysFrame::containing_address
    - PhysAddr::new
    - OffsetPageTable::identity_map
    - flush
    linkageType: ''
    returnType: Result
    signature: 'fn identity_map_page<''a, S: PageSize>(pt: &mut OffsetPageTable<''a>,address:
      u64,flags: Flags,frame_allocator: &mut FrameAlloc,) -> Result<(), Error>whereOffsetPageTable<''a>:
      Mapper<S>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset_pt
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:113,1
    - Dst: set_page_flags
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: set_nx
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - offset_pt
    - set_page_flags
    linkageType: ''
    returnType: void
    signature: 'pub fn set_nx(address: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset_pt
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:120,1
    - Dst: set_page_flags
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:123,1
    - Dst: enable_wp
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: set_wp
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - offset_pt
    - enable_wp
    - set_page_flags
    linkageType: ''
    returnType: void
    signature: 'pub fn set_wp(address: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset_pt
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:128,1
    - Dst: Flags::empty
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:129,1
    - Dst: set_page_flags
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: set_not_present
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - offset_pt
    - Flags::empty
    - set_page_flags
    linkageType: ''
    returnType: void
    signature: 'pub fn set_not_present(address: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset_pt
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:136,1
    - Dst: map_shared
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: set_shared_bit
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - offset_pt
    - map_shared
    linkageType: ''
    returnType: void
    signature: 'pub fn set_shared_bit(address: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: offset_pt
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:142,1
    - Dst: map_shared
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - address
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: clear_shared_bit
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - offset_pt
    - map_shared
    linkageType: ''
    returnType: void
    signature: 'pub fn clear_shared_bit(address: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cr0::read
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:148,1
    - Dst: bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:149,1
    - Dst: Cr0::write
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 4
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: enable_wp
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 1
    functionsReached:
    - bits
    - Cr0::read
    - Cr0::write
    linkageType: ''
    returnType: void
    signature: pub fn enable_wp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cr0::read
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:159,1
    - Dst: bits
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:160,1
    - Dst: Cr0::write
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:164,1
    - Dst: Cr0::read
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: disable_wp
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 0
    functionsReached:
    - bits
    - Cr0::read
    - Cr0::write
    linkageType: ''
    returnType: void
    signature: pub fn disable_wp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cr3::read
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:169,1
    - Dst: start_address
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:169,1
    - Dst: as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:169,1
    - Dst: OffsetPageTable::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:170,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: offset_pt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 5
    functionsReached:
    - Cr3::read
    - OffsetPageTable::new
    - start_address
    - VirtAddr::new
    - as_u64
    linkageType: ''
    returnType: OffsetPageTable
    signature: fn offset_pt() -> OffsetPageTable<'static>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OffsetPageTable::translate
      Src: /src/td-shim/td-paging/src/page_table.rs:141,1
    - Dst: Page::containing_address
      Src: /src/td-shim/td-paging/src/page_table.rs:146,1
    - Dst: OffsetPageTable::update_flags
      Src: /src/td-shim/td-paging/src/page_table.rs:148,1
    - Dst: unwrap
      Src: /src/td-shim/td-paging/src/page_table.rs:148,1
    - Dst: flush
      Src: /src/td-shim/td-paging/src/page_table.rs:148,1
    - Dst: checked_sub
      Src: /src/td-shim/td-paging/src/page_table.rs:163,1
    - Dst: unwrap
      Src: /src/td-shim/td-paging/src/page_table.rs:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 4
    argNames:
    - pt
    - va
    - size
    - flag
    argTypes:
    - '&mut OffsetPageTable'
    - VirtAddr
    - i64
    - Flags
    constantsTouched: []
    func_position:
      end: 166
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 166
    functionName: set_page_flags
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 7
    functionsReached:
    - OffsetPageTable::translate
    - OffsetPageTable::update_flags
    - unwrap
    - Page::containing_address
    - checked_sub
    - flush
    linkageType: ''
    returnType: void
    signature: 'pub fn set_page_flags(pt: &mut OffsetPageTable, mut va: VirtAddr,
      mut size: i64, flag: Flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:210,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:212,1
    - Dst: OffsetPageTable::translate
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:213,1
    - Dst: pt_set_shared_bit
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:214,1
    - Dst: Page::containing_address
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:214,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:215,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:215,1
    - Dst: checked_add
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:215,1
    - Dst: Option::size
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:215,1
    - Dst: unwrap
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 4
    argNames:
    - pt
    - va
    - size
    - shared
    argTypes:
    - '&mut OffsetPageTable'
    - u64
    - usize
    - bool
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: map_shared
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 2
    functionsReached:
    - OffsetPageTable::translate
    - pt_set_shared_bit
    - checked_add
    - Result::as_u64
    - unwrap
    - VirtAddr::new
    - Page::containing_address
    - Option::size
    linkageType: ''
    returnType: void
    signature: 'fn map_shared(pt: &mut OffsetPageTable, va: u64, size: usize, shared:
      bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OffsetPageTable::level_4_table
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:224,1
    - Dst: index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:225,1
    - Dst: p4_index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:225,1
    - Dst: addr
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:225,1
    - Dst: as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:225,1
    - Dst: size
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:227,1
    - Dst: pt_entry_set_shared_bit
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:228,1
    - Dst: p3_index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:228,1
    - Dst: (W32, W32, W32, W32, W32)::index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:231,1
    - Dst: p3_index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:231,1
    - Dst: addr
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:231,1
    - Dst: u64::as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:231,1
    - Dst: size
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:232,1
    - Dst: pt_entry_set_shared_bit
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:233,1
    - Dst: p2_index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:233,1
    - Dst: index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:236,1
    - Dst: p2_index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:236,1
    - Dst: addr
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:236,1
    - Dst: as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:236,1
    - Dst: size
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:237,1
    - Dst: pt_entry_set_shared_bit
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:238,1
    - Dst: p1_index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 3
    argNames:
    - pt
    - page
    - shared
    argTypes:
    - '&mut OffsetPageTable'
    - '&Page'
    - bool
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: pt_set_shared_bit
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 1
    functionsReached:
    - p3_index
    - OffsetPageTable::level_4_table
    - addr
    - p1_index
    - size
    - pt_entry_set_shared_bit
    - (W32, W32, W32, W32, W32)::index
    - u64::as_u64
    - p2_index
    - p4_index
    - as_u64
    - index
    linkageType: ''
    returnType: void
    signature: 'fn pt_set_shared_bit(pt: &mut OffsetPageTable, page: &Page, shared:
      bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: index
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:244,1
    - Dst: tdx_tdcall::tdx::td_shared_mask
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:245,1
    - Dst: Option::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:245,1
    - Dst: addr
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:248,1
    - Dst: u64::as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:248,1
    - Dst: addr
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:250,1
    - Dst: u64::as_u64
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:250,1
    - Dst: flags
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:252,1
    - Dst: index_mut
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:254,1
    - Dst: set_addr
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:254,1
    - Dst: PhysAddr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/paging.rs:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - page_table
    - index
    - shared
    argTypes:
    - '&mut PageTable'
    - PageTableIndex
    - bool
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 4
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: pt_entry_set_shared_bit
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
    functionUses: 1
    functionsReached:
    - addr
    - set_addr
    - PhysAddr::new
    - index
    - index_mut
    - flags
    - tdx_tdcall::tdx::td_shared_mask
    - u64::as_u64
    - Option::expect
    linkageType: ''
    returnType: void
    signature: 'fn pt_entry_set_shared_bit(page_table: &mut PageTable, index: PageTableIndex,
      shared: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::paging::set_shared_bit
      Src: /src/td-shim/td-payload/src/arch/x86_64/shared.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - length
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: decrypt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/shared.rs
    functionUses: 0
    functionsReached:
    - super::paging::set_shared_bit
    linkageType: ''
    returnType: void
    signature: 'pub fn decrypt(addr: u64, length: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::paging::clear_shared_bit
      Src: /src/td-shim/td-payload/src/arch/x86_64/shared.rs:42,1
    - Dst: accept_memory
      Src: /src/td-shim/td-payload/src/arch/x86_64/shared.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - length
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: encrypt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/shared.rs
    functionUses: 0
    functionsReached:
    - super::paging::clear_shared_bit
    - accept_memory
    linkageType: ''
    returnType: void
    signature: 'pub fn encrypt(addr: u64, length: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx::tdcall_accept_page
      Src: /src/td-shim/td-payload/src/arch/x86_64/shared.rs:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - addr
    - length
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: accept_memory
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/shared.rs
    functionUses: 2
    functionsReached:
    - tdx::tdcall_accept_page
    linkageType: ''
    returnType: void
    signature: 'fn accept_memory(addr: u64, length: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_shstk_available
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:37,1
    - Dst: disable_cet
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:41,1
    - Dst: paging::set_wp
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:43,1
    - Dst: Msr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:45,1
    - Dst: Result::write
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:46,1
    - Dst: Result::read
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:46,1
    - Dst: super::paging::disable_wp
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:48,1
    - Dst: Msr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:54,1
    - Dst: Result::write
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:55,1
    - Dst: enable_cet_shstk_guard_page
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:58,1
    - Dst: super::paging::enable_wp
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 2
    argNames:
    - shadow_stack_addr
    - shadow_stack_size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 63
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 63
    functionName: init_cet_shstk
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 0
    functionsReached:
    - Result::read
    - super::paging::enable_wp
    - Result::write
    - disable_cet
    - paging::set_wp
    - super::paging::disable_wp
    - Msr::new
    - is_shstk_available
    - enable_cet_shstk_guard_page
    linkageType: ''
    returnType: bool
    signature: 'pub fn init_cet_shstk(shadow_stack_addr: u64, shadow_stack_size: usize)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enable_cet
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: enable_cet_shstk
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 0
    functionsReached:
    - enable_cet
    linkageType: ''
    returnType: void
    signature: pub unsafe fn enable_cet_shstk()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_ibt_available
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:77,1
    - Dst: disable_cet
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:81,1
    - Dst: Msr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:82,1
    - Dst: Result::write
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:83,1
    - Dst: Result::read
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:83,1
    - Dst: enable_cet
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: enable_cet_ibt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 0
    functionsReached:
    - Result::read
    - Result::write
    - disable_cet
    - is_ibt_available
    - Msr::new
    - enable_cet
    linkageType: ''
    returnType: bool
    signature: pub fn enable_cet_ibt() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::arch::x86_64::__cpuid_count
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: is_shstk_available
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 1
    functionsReached:
    - core::arch::x86_64::__cpuid_count
    linkageType: ''
    returnType: bool
    signature: fn is_shstk_available() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::arch::x86_64::__cpuid_count
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: is_ibt_available
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 1
    functionsReached:
    - core::arch::x86_64::__cpuid_count
    linkageType: ''
    returnType: bool
    signature: fn is_ibt_available() -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: enable_cet
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn enable_cet()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: disable_cet
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn disable_cet()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:143,1
    - Dst: x86_64::registers::model_specific::Msr::new
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:150,1
    - Dst: Result::write
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:151,1
    - Dst: as_ptr
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:151,1
    - Dst: set_guard_page
      Src: /src/td-shim/td-payload/src/arch/x86_64/cet.rs:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - shadow_stack_addr
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 155
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 155
    functionName: enable_cet_shstk_guard_page
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
    functionUses: 1
    functionsReached:
    - Result::write
    - x86_64::registers::model_specific::Msr::new
    - as_ptr
    - set_guard_page
    - lock
    linkageType: ''
    returnType: void
    signature: 'fn enable_cet_shstk_guard_page(shadow_stack_addr: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::paging::set_not_present
      Src: /src/td-shim/td-payload/src/arch/x86_64/guard_page.rs:10,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 11
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 11
    functionName: set_guard_page
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/guard_page.rs
    functionUses: 1
    functionsReached:
    - super::paging::set_not_present
    linkageType: ''
    returnType: void
    signature: 'pub fn set_guard_page(base: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::gdt::tss_set_ist
      Src: /src/td-shim/td-payload/src/arch/x86_64/guard_page.rs:19,1
    - Dst: super::idt::idt_set_ist
      Src: /src/td-shim/td-payload/src/arch/x86_64/guard_page.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - good_stack_top
    - idt_index
    - ist_index
    argTypes:
    - u64
    - u8
    - u8
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: set_exception_stack
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/guard_page.rs
    functionUses: 0
    functionsReached:
    - super::idt::idt_set_ist
    - super::gdt::tss_set_ist
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn set_exception_stack(good_stack_top: u64, idt_index:
      u8, ist_index: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hob::init
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:33,1
    - Dst: U128::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:33,1
    - Dst: '{

        acpi::init_acpi_tables,

        arch::init_ram'
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:34,1
    - Dst: Result::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:34,1
    - Dst: get_usable
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:36,1
    - Dst: Option::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:36,1
    - Dst: '{

        acpi::init_acpi_tables,

        arch::

        page_table::init_pt_frame_allocator'
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:37,1
    - Dst: paging::setup_paging
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:39,1
    - Dst: expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:39,1
    - Dst: get_usable
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:41,1
    - Dst: Option::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:41,1
    - Dst: '{

        acpi::init_acpi_tables,

        arch::heap::init_heap'
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:42,1
    - Dst: get_usable
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:47,1
    - Dst: Option::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:47,1
    - Dst: get_usable
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:50,1
    - Dst: Option::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:50,1
    - Dst: mm::shared::init_shared_memory_with_shadow
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:51,1
    - Dst: mm::shared::init_shared_memory
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:53,1
    - Dst: gdt::init_gdt
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:58,1
    - Dst: idt::init_idt
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:62,1
    - Dst: super::apic::enable_apic_interrupt
      Src: /src/td-shim/td-payload/src/arch/x86_64/init.rs:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 3
    argNames:
    - hob
    - layout
    - use_shared_shadow
    argTypes:
    - u64
    - '&RuntimeLayout'
    - bool
    constantsTouched: []
    func_position:
      end: 67
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: pre_init
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/init.rs
    functionUses: 1
    functionsReached:
    - gdt::init_gdt
    - super::apic::enable_apic_interrupt
    - get_usable
    - Result::expect
    - U128::expect
    - hob::init
    - '{

      acpi::init_acpi_tables,

      arch::

      page_table::init_pt_frame_allocator'
    - expect
    - '{

      acpi::init_acpi_tables,

      arch::init_ram'
    - mm::shared::init_shared_memory_with_shadow
    - paging::setup_paging
    - mm::shared::init_shared_memory
    - '{

      acpi::init_acpi_tables,

      arch::heap::init_heap'
    - idt::init_idt
    - Option::expect
    linkageType: ''
    returnType: void
    signature: 'pub fn pre_init(hob: u64,layout: &RuntimeLayout,#[cfg(not(feature
      = "no-shared-mem"))] use_shared_shadow: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stack_top
    - next
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: jump_to_next
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/init.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '!'
    signature: 'fn jump_to_next(stack_top: u64, next: u64) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx_tdcall::tdx::tdvmcall_rdmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:23,1
    - Dst: Result::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:23,1
    - Dst: tdx_tdcall::tdx::tdvmcall_wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:25,1
    - Dst: Result::expect
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: enable_apic_interrupt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 1
    functionsReached:
    - Result::expect
    - tdx_tdcall::tdx::tdvmcall_rdmsr
    - tdx_tdcall::tdx::tdvmcall_wrmsr
    linkageType: ''
    returnType: void
    signature: pub fn enable_apic_interrupt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdx_tdcall::tdx::tdvmcall_sti_halt
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:31,1
    - Dst: x86_64::instructions::interrupts::enable_and_hlt
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: enable_and_hlt
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 1
    functionsReached:
    - tdx_tdcall::tdx::tdvmcall_sti_halt
    - x86_64::instructions::interrupts::enable_and_hlt
    linkageType: ''
    returnType: void
    signature: pub fn enable_and_hlt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86_64::instructions::interrupts::disable
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: disable
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 2
    functionsReached:
    - x86_64::instructions::interrupts::disable
    linkageType: ''
    returnType: void
    signature: pub fn disable()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::msr::wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:41,1
    - Dst: x86::time::rdtsc
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:43,1
    - Dst: x86::msr::wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:47,1
    - Dst: checked_add
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:47,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - period
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: one_shot_tsc_deadline_mode
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 0
    functionsReached:
    - x86::msr::wrmsr
    - checked_add
    - Some
    - x86::time::rdtsc
    linkageType: ''
    returnType: Option
    signature: 'pub fn one_shot_tsc_deadline_mode(period: u64) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::msr::wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: one_shot_tsc_deadline_mode_reset
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 0
    functionsReached:
    - x86::msr::wrmsr
    linkageType: ''
    returnType: void
    signature: pub fn one_shot_tsc_deadline_mode_reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::msr::wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:59,1
    - Dst: x86::msr::wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:60,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - period
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: one_shot
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 0
    functionsReached:
    - x86::msr::wrmsr
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn one_shot(period: u64) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::msr::wrmsr
      Src: /src/td-shim/td-payload/src/arch/x86_64/apic.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: one_shot_reset
    functionSourceFile: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
    functionUses: 0
    functionsReached:
    - x86::msr::wrmsr
    linkageType: ''
    returnType: void
    signature: pub fn one_shot_reset()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:22,1
    - Dst: td_payload::println
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: test_stack
    functionSourceFile: /src/td-shim/td-payload/src/bin/example/stack.rs
    functionUses: 0
    functionsReached:
    - td_payload::println
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn test_stack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackProfiling::init
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:34,1
    - Dst: test_stack
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:35,1
    - Dst: StackProfiling::stack_usage
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:36,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:36,1
    - Dst: td_payload::println
      Src: /src/td-shim/td-payload/src/bin/example/stack.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: bench_stack
    functionSourceFile: /src/td-shim/td-payload/src/bin/example/stack.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - StackProfiling::stack_usage
    - test_stack
    - StackProfiling::init
    - td_payload::println
    linkageType: ''
    returnType: void
    signature: pub fn bench_stack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-payload/src/bin/example/mp.rs:23,1
    - Dst: as_ptr
      Src: /src/td-shim/td-payload/src/bin/example/mp.rs:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: mp_test
    functionSourceFile: /src/td-shim/td-payload/src/bin/example/mp.rs
    functionUses: 0
    functionsReached:
    - as_ptr
    linkageType: ''
    returnType: void
    signature: pub fn mp_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:15,1
    - Dst: init
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 17
      start: 13
    functionDepth: 2
    functionLinenumber: 13
    functionLinenumberEnd: 17
    functionName: init_pt_frame_allocator
    functionSourceFile: /src/td-shim/td-payload/src/mm/page_table.rs
    functionUses: 1
    functionsReached:
    - init
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn init_pt_frame_allocator(start: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:22,1
    - Dst: allocate_first_fit
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:22,1
    - Dst: Layout::from_size_align
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:24,1
    - Dst: ok
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:24,1
    - Dst: map
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:22,1
    - Dst: TdxMetadataPtr::as_ptr
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:25,1
    - Dst: ok
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:22,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:28,1
    - Dst: fill
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:28,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 31
    functionName: alloc_pt_frame
    functionSourceFile: /src/td-shim/td-payload/src/mm/page_table.rs
    functionUses: 2
    functionsReached:
    - Layout::from_size_align
    - map
    - fill
    - TdxMetadataPtr::as_ptr
    - Some
    - ok
    - allocate_first_fit
    - lock
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: Option
    signature: pub unsafe fn alloc_pt_frame() -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:36,1
    - Dst: deallocate
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:36,1
    - Dst: NonNull::new
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:37,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:37,1
    - Dst: Layout::from_size_align
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:38,1
    - Dst: unwrap
      Src: /src/td-shim/td-payload/src/mm/page_table.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - addr
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: free_pt_frame
    functionSourceFile: /src/td-shim/td-payload/src/mm/page_table.rs
    functionUses: 1
    functionsReached:
    - Layout::from_size_align
    - Result::unwrap
    - unwrap
    - NonNull::new
    - deallocate
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn free_pt_frame(addr: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - _heap_start
    - _heap_size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: heap::init_heap
    functionSourceFile: /src/td-shim/td-payload/src/mm/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn init_heap(_heap_start: u64, _heap_size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_e820_table
      Src: /src/td-shim/td-payload/src/mm/mod.rs:46,1
    - Dst: Result::iter
      Src: /src/td-shim/td-payload/src/mm/mod.rs:47,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/td-payload/src/mm/mod.rs:47,1
    - Dst: TestResult::max
      Src: /src/td-shim/td-payload/src/mm/mod.rs:47,1
    - Dst: ok_or
      Src: /src/td-shim/td-payload/src/mm/mod.rs:47,1
    - Dst: call_once
      Src: /src/td-shim/td-payload/src/mm/mod.rs:52,1
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/mod.rs:54,1
    - Dst: Result::len
      Src: /src/td-shim/td-payload/src/mm/mod.rs:54,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-payload/src/mm/mod.rs:54,1
    - Dst: Ok
      Src: /src/td-shim/td-payload/src/mm/mod.rs:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - hob
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: init_ram
    functionSourceFile: /src/td-shim/td-payload/src/mm/mod.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    - get_e820_table
    - Result::iter
    - Result::len
    - Ok
    - ok_or
    - call_once
    - TestResult::max
    - lock
    - Self::IntoIter::map
    linkageType: ''
    returnType: Result
    signature: 'pub fn init_ram(hob: &''static [u8]) -> Result<&''static [E820Entry],
      Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/td-payload/src/mm/mod.rs:61,1
    - Dst: unwrap
      Src: /src/td-shim/td-payload/src/mm/mod.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 7
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: end_of_ram
    functionSourceFile: /src/td-shim/td-payload/src/mm/mod.rs
    functionUses: 0
    functionsReached:
    - unwrap
    - get
    linkageType: ''
    returnType: usize
    signature: pub fn end_of_ram() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/mod.rs:65,1
    - Dst: Option::iter_mut
      Src: /src/td-shim/td-payload/src/mm/mod.rs:67,1
    - Dst: E820Entry::default
      Src: /src/td-shim/td-payload/src/mm/mod.rs:68,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/mm/mod.rs:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - size
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: get_usable
    functionSourceFile: /src/td-shim/td-payload/src/mm/mod.rs
    functionUses: 1
    functionsReached:
    - Option::iter_mut
    - E820Entry::default
    - Some
    - lock
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_usable(size: usize) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread::<Header>
      Src: /src/td-shim/td-payload/src/mm/mod.rs:86,1
    - Dst: map_err
      Src: /src/td-shim/td-payload/src/mm/mod.rs:86,1
    - Dst: pread::<GuidExtension>
      Src: /src/td-shim/td-payload/src/mm/mod.rs:89,1
    - Dst: map_err
      Src: /src/td-shim/td-payload/src/mm/mod.rs:89,1
    - Dst: as_bytes
      Src: /src/td-shim/td-payload/src/mm/mod.rs:92,1
    - Dst: parse_guided_hob
      Src: /src/td-shim/td-payload/src/mm/mod.rs:93,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-payload/src/mm/mod.rs:93,1
    - Dst: hob_lib::align_to_next_hob_offset
      Src: /src/td-shim/td-payload/src/mm/mod.rs:102,1
    - Dst: Option::len
      Src: /src/td-shim/td-payload/src/mm/mod.rs:102,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-payload/src/mm/mod.rs:102,1
    - Dst: Err
      Src: /src/td-shim/td-payload/src/mm/mod.rs:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - hob
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: get_e820_table
    functionSourceFile: /src/td-shim/td-payload/src/mm/mod.rs
    functionUses: 1
    functionsReached:
    - map_err
    - pread::<Header>
    - Option::ok_or
    - as_bytes
    - pread::<GuidExtension>
    - hob_lib::align_to_next_hob_offset
    - Option::len
    - Err
    - parse_guided_hob
    linkageType: ''
    returnType: Result
    signature: 'fn get_e820_table(hob: &''static [u8]) -> Result<&''static [E820Entry],
      Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arch::shared::decrypt
      Src: /src/td-shim/td-payload/src/mm/shared.rs:22,1
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/shared.rs:25,1
    - Dst: init
      Src: /src/td-shim/td-payload/src/mm/shared.rs:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - start
    - size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: init_shared_memory
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 1
    functionsReached:
    - init
    - lock
    - arch::shared::decrypt
    linkageType: ''
    returnType: void
    signature: 'pub fn init_shared_memory(start: u64, size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_shared_memory
      Src: /src/td-shim/td-payload/src/mm/shared.rs:30,1
    - Dst: call_once
      Src: /src/td-shim/td-payload/src/mm/shared.rs:31,1
    - Dst: call_once
      Src: /src/td-shim/td-payload/src/mm/shared.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - start
    - size
    - shadow_start
    argTypes:
    - u64
    - usize
    - u64
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: init_shared_memory_with_shadow
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 1
    functionsReached:
    - init_shared_memory
    - call_once
    linkageType: ''
    returnType: void
    signature: 'pub fn init_shared_memory_with_shadow(start: u64, size: usize, shadow_start:
      u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_shared_pages
      Src: /src/td-shim/td-payload/src/mm/shared.rs:43,1
    - Dst: alloc_private_shadow_pages
      Src: /src/td-shim/td-payload/src/mm/shared.rs:44,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/mm/shared.rs:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - num_page
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: SharedMemory::new
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 0
    functionsReached:
    - alloc_shared_pages
    - Some
    - alloc_private_shadow_pages
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(num_page: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/td-shim/td-payload/src/mm/shared.rs:54,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-payload/src/mm/shared.rs:55,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-payload/src/mm/shared.rs:56,1
    - Dst: SharedMemory::as_bytes
      Src: /src/td-shim/td-payload/src/mm/shared.rs:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: SharedMemory::copy_to_private_shadow
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 0
    functionsReached:
    - map
    - copy_from_slice
    - SharedMemory::as_bytes
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: Option
    signature: pub fn copy_to_private_shadow(&mut self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-payload/src/mm/shared.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: SharedMemory::as_bytes
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 1
    functionsReached:
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-payload/src/mm/shared.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: SharedMemory::as_mut_bytes
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 0
    functionsReached:
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn as_mut_bytes(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_shared_pages
      Src: /src/td-shim/td-payload/src/mm/shared.rs:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: SharedMemory::drop
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 0
    functionsReached:
    - free_shared_pages
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/td-shim/td-payload/src/mm/shared.rs:80,1
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/shared.rs:82,1
    - Dst: allocate_first_fit
      Src: /src/td-shim/td-payload/src/mm/shared.rs:82,1
    - Dst: Layout::from_size_align
      Src: /src/td-shim/td-payload/src/mm/shared.rs:84,1
    - Dst: ok
      Src: /src/td-shim/td-payload/src/mm/shared.rs:84,1
    - Dst: map
      Src: /src/td-shim/td-payload/src/mm/shared.rs:82,1
    - Dst: TdxMetadataPtr::as_ptr
      Src: /src/td-shim/td-payload/src/mm/shared.rs:85,1
    - Dst: ok
      Src: /src/td-shim/td-payload/src/mm/shared.rs:82,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-payload/src/mm/shared.rs:88,1
    - Dst: fill
      Src: /src/td-shim/td-payload/src/mm/shared.rs:88,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/mm/shared.rs:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - num
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: alloc_shared_pages
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 1
    functionsReached:
    - checked_mul
    - Layout::from_size_align
    - map
    - fill
    - TdxMetadataPtr::as_ptr
    - Some
    - ok
    - allocate_first_fit
    - lock
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: Option
    signature: 'pub unsafe fn alloc_shared_pages(num: usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_shared_pages
      Src: /src/td-shim/td-payload/src/mm/shared.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 4
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: alloc_shared_page
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 0
    functionsReached:
    - alloc_shared_pages
    linkageType: ''
    returnType: Option
    signature: pub unsafe fn alloc_shared_page() -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/td-shim/td-payload/src/mm/shared.rs:102,1
    - Dst: expect
      Src: /src/td-shim/td-payload/src/mm/shared.rs:102,1
    - Dst: lock
      Src: /src/td-shim/td-payload/src/mm/shared.rs:104,1
    - Dst: deallocate
      Src: /src/td-shim/td-payload/src/mm/shared.rs:104,1
    - Dst: NonNull::new
      Src: /src/td-shim/td-payload/src/mm/shared.rs:105,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-payload/src/mm/shared.rs:105,1
    - Dst: Layout::from_size_align
      Src: /src/td-shim/td-payload/src/mm/shared.rs:106,1
    - Dst: unwrap
      Src: /src/td-shim/td-payload/src/mm/shared.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - addr
    - num
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 4
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: free_shared_pages
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 1
    functionsReached:
    - checked_mul
    - Layout::from_size_align
    - Result::unwrap
    - unwrap
    - expect
    - NonNull::new
    - deallocate
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn free_shared_pages(addr: usize, num: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_shared_pages
      Src: /src/td-shim/td-payload/src/mm/shared.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: free_shared_page
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 0
    functionsReached:
    - free_shared_pages
    linkageType: ''
    returnType: void
    signature: 'pub unsafe fn free_shared_page(addr: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-payload/src/mm/shared.rs:117,1
    - Dst: get
      Src: /src/td-shim/td-payload/src/mm/shared.rs:117,1
    - Dst: Some
      Src: /src/td-shim/td-payload/src/mm/shared.rs:118,1
    - Dst: get
      Src: /src/td-shim/td-payload/src/mm/shared.rs:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - shared_addr
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: alloc_private_shadow_pages
    functionSourceFile: /src/td-shim/td-payload/src/mm/shared.rs
    functionUses: 1
    functionsReached:
    - Some
    - usize::checked_sub
    - get
    linkageType: ''
    returnType: Option
    signature: 'fn alloc_private_shadow_pages(shared_addr: usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:35,1
    - Dst: init
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - heap_start
    - heap_size
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: init_heap
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/lib.rs
    functionUses: 2
    functionsReached:
    - init
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn init_heap(heap_start: usize, heap_size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: RuntimeLayout::default
    functionSourceFile: /src/td-shim/td-payload/src/mm/layout.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - num_frames
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: FrameAlloc::new
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn new(num_frames: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/td-shim/td-paging/src/frame.rs:34,1
    - Dst: enumerate
      Src: /src/td-shim/td-paging/src/frame.rs:34,1
    - Dst: TestResult::trailing_zeros
      Src: /src/td-shim/td-paging/src/frame.rs:35,1
    - Dst: Some
      Src: /src/td-shim/td-paging/src/frame.rs:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: FrameAlloc::alloc
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - enumerate
    - Some
    - TestResult::trailing_zeros
    - iter_mut
    linkageType: ''
    returnType: Option
    signature: fn alloc(&mut self) -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-paging/src/frame.rs:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - range
    argTypes:
    - Range<usize>
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: FrameAlloc::free
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: void
    signature: 'fn free(&mut self, range: Range<usize>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-paging/src/frame.rs:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - idx
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: FrameAlloc::reserve
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: void
    signature: 'fn reserve(&mut self, idx: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-paging/src/frame.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: BMFrameAllocator::empty
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: const fn empty() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameAlloc::new
      Src: /src/td-shim/td-paging/src/frame.rs:96,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: BMFrameAllocator::new
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - FrameAlloc::new
    - free
    linkageType: ''
    returnType: Self
    signature: 'fn new(base: usize, size: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc
      Src: /src/td-shim/td-paging/src/frame.rs:104,1
    - Dst: map
      Src: /src/td-shim/td-paging/src/frame.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: BMFrameAllocator::alloc
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - map
    - alloc
    linkageType: ''
    returnType: Option
    signature: fn alloc(&mut self) -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: BMFrameAllocator::reserve
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - reserve
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn reserve(&mut self, addr: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BMFrameAllocator::alloc
      Src: /src/td-shim/td-paging/src/frame.rs:125,1
    - Dst: Some
      Src: /src/td-shim/td-paging/src/frame.rs:126,1
    - Dst: PhysFrame::containing_address
      Src: /src/td-shim/td-paging/src/frame.rs:126,1
    - Dst: PhysAddr::try_new
      Src: /src/td-shim/td-paging/src/frame.rs:127,1
    - Dst: Result::ok
      Src: /src/td-shim/td-paging/src/frame.rs:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: BMFrameAllocator::allocate_frame
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - PhysFrame::containing_address
    - PhysAddr::try_new
    - Result::ok
    - Some
    - BMFrameAllocator::alloc
    linkageType: ''
    returnType: Option
    signature: fn allocate_frame(&mut self) -> Option<PhysFrame<Size4KiB>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameAlloc::new
      Src: /src/td-shim/td-paging/src/frame.rs:157,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:163,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:168,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 187
    functionName: tests::test_frame_alloc
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - FrameAlloc::new
    - free
    - reserve
    linkageType: ''
    returnType: void
    signature: fn test_frame_alloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameAlloc::new
      Src: /src/td-shim/td-paging/src/frame.rs:192,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: tests::test_frame_free_invalid_index
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - FrameAlloc::new
    - free
    linkageType: ''
    returnType: void
    signature: fn test_frame_free_invalid_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameAlloc::new
      Src: /src/td-shim/td-paging/src/frame.rs:200,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:202,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: tests::test_frame_free_invalid_state
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - FrameAlloc::new
    - free
    linkageType: ''
    returnType: void
    signature: fn test_frame_free_invalid_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameAlloc::new
      Src: /src/td-shim/td-paging/src/frame.rs:209,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: tests::test_frame_reserve_invalid_index
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - FrameAlloc::new
    - reserve
    linkageType: ''
    returnType: void
    signature: fn test_frame_reserve_invalid_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FrameAlloc::new
      Src: /src/td-shim/td-paging/src/frame.rs:217,1
    - Dst: free
      Src: /src/td-shim/td-paging/src/frame.rs:219,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:220,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: tests::test_frame_reserve_invalid_state
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - FrameAlloc::new
    - free
    - reserve
    linkageType: ''
    returnType: void
    signature: fn test_frame_reserve_invalid_state()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BMFrameAllocator::empty
      Src: /src/td-shim/td-paging/src/frame.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 5
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: tests::test_empty_bm_allocator
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - BMFrameAllocator::empty
    linkageType: ''
    returnType: void
    signature: fn test_empty_bm_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/td-shim/td-paging/src/frame.rs:233,1
    - Dst: lock
      Src: /src/td-shim/td-paging/src/frame.rs:234,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:237,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/frame.rs:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: tests::test_bm_allocator
    functionSourceFile: /src/td-shim/td-paging/src/frame.rs
    functionUses: 0
    functionsReached:
    - init
    - lock
    - reserve
    linkageType: ''
    returnType: void
    signature: fn test_bm_allocator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x86::controlregs::cr3_write
      Src: /src/td-shim/td-paging/src/page_table.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: cr3_write
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 3
    functionsReached:
    - x86::controlregs::cr3_write
    linkageType: ''
    returnType: void
    signature: 'pub fn cr3_write(addr: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Page::containing_address
      Src: /src/td-shim/td-paging/src/page_table.rs:46,1
    - Dst: PhysFrame::containing_address
      Src: /src/td-shim/td-paging/src/page_table.rs:47,1
    - Dst: OffsetPageTable::map_to
      Src: /src/td-shim/td-paging/src/page_table.rs:55,1
    - Dst: flush
      Src: /src/td-shim/td-paging/src/page_table.rs:56,1
    - Dst: Err
      Src: /src/td-shim/td-paging/src/page_table.rs:59,1
    - Dst: Error::MappingError
      Src: /src/td-shim/td-paging/src/page_table.rs:59,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:59,1
    - Dst: Ok
      Src: /src/td-shim/td-paging/src/page_table.rs:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - pt
    - pa
    - va
    - flags
    - allocator
    argTypes:
    - '&mut OffsetPageTable<''a>'
    - PhysAddr
    - VirtAddr
    - Flags
    - '&mut BMFrameAllocator'
    constantsTouched: []
    func_position:
      end: 65
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 65
    functionName: map_page
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 0
    functionsReached:
    - PhysFrame::containing_address
    - Error::MappingError
    - flush
    - Result::as_u64
    - Ok
    - OffsetPageTable::map_to
    - Page::containing_address
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn map_page<''a, S: PageSize>(pt: &mut OffsetPageTable<''a>,pa: PhysAddr,va:
      VirtAddr,flags: Flags,allocator: &mut BMFrameAllocator,) -> Result<()>whereOffsetPageTable<''a>:
      Mapper<S>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-paging/src/page_table.rs:82,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:84,1
    - Dst: checked_add
      Src: /src/td-shim/td-paging/src/page_table.rs:84,1
    - Dst: is_none
      Src: /src/td-shim/td-paging/src/page_table.rs:84,1
    - Dst: VirtAddr::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:85,1
    - Dst: checked_add
      Src: /src/td-shim/td-paging/src/page_table.rs:85,1
    - Dst: is_none
      Src: /src/td-shim/td-paging/src/page_table.rs:85,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:86,1
    - Dst: VirtAddr::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:87,1
    - Dst: Result::count_ones
      Src: /src/td-shim/td-paging/src/page_table.rs:89,1
    - Dst: Err
      Src: /src/td-shim/td-paging/src/page_table.rs:92,1
    - Dst: core::cmp::min
      Src: /src/td-shim/td-paging/src/page_table.rs:96,1
    - Dst: Result::trailing_zeros
      Src: /src/td-shim/td-paging/src/page_table.rs:97,1
    - Dst: core::cmp::min
      Src: /src/td-shim/td-paging/src/page_table.rs:98,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:98,1
    - Dst: trailing_zeros
      Src: /src/td-shim/td-paging/src/page_table.rs:98,1
    - Dst: VirtAddr::as_u64
      Src: /src/td-shim/td-paging/src/page_table.rs:98,1
    - Dst: trailing_zeros
      Src: /src/td-shim/td-paging/src/page_table.rs:98,1
    - Dst: map_page::<Size1GiB>
      Src: /src/td-shim/td-paging/src/page_table.rs:101,1
    - Dst: map_page::<Size2MiB>
      Src: /src/td-shim/td-paging/src/page_table.rs:104,1
    - Dst: map_page::<Size4KiB>
      Src: /src/td-shim/td-paging/src/page_table.rs:107,1
    - Dst: checked_sub
      Src: /src/td-shim/td-paging/src/page_table.rs:111,1
    - Dst: ok_or
      Src: /src/td-shim/td-paging/src/page_table.rs:111,1
    - Dst: Ok
      Src: /src/td-shim/td-paging/src/page_table.rs:116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 90
    argCount: 6
    argNames:
    - pt
    - pa
    - va
    - ps
    - sz
    - flags
    argTypes:
    - '&mut OffsetPageTable'
    - PhysAddr
    - VirtAddr
    - u64
    - u64
    - Flags
    constantsTouched: []
    func_position:
      end: 117
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 117
    functionName: create_mapping_with_flags
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 0
    functionsReached:
    - map_page::<Size1GiB>
    - Result::as_u64
    - trailing_zeros
    - map_page::<Size2MiB>
    - map_page::<Size4KiB>
    - Result::count_ones
    - is_none
    - Result::trailing_zeros
    - Ok
    - ok_or
    - checked_add
    - core::cmp::min
    - VirtAddr::as_u64
    - Err
    - checked_sub
    - lock
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_mapping_with_flags(pt: &mut OffsetPageTable,mut pa:
      PhysAddr,mut va: VirtAddr,ps: u64,mut sz: u64,flags: Flags,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_mapping_with_flags
      Src: /src/td-shim/td-paging/src/page_table.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pt
    - pa
    - va
    - ps
    - sz
    argTypes:
    - '&mut OffsetPageTable'
    - PhysAddr
    - VirtAddr
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: create_mapping
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 1
    functionsReached:
    - create_mapping_with_flags
    linkageType: ''
    returnType: Result
    signature: 'pub fn create_mapping(pt: &mut OffsetPageTable,pa: PhysAddr,va: VirtAddr,ps:
      u64,sz: u64,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OffsetPageTable::new
      Src: /src/td-shim/td-paging/src/page_table.rs:179,1
    - Dst: VirtAddr::new
      Src: /src/td-shim/td-paging/src/page_table.rs:179,1
    - Dst: lock
      Src: /src/td-shim/td-paging/src/page_table.rs:181,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/page_table.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - base
    - offset
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 4
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: tests::create_pt
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 0
    functionsReached:
    - VirtAddr::new
    - OffsetPageTable::new
    - lock
    - reserve
    linkageType: ''
    returnType: OffsetPageTable
    signature: 'fn create_pt(base: u64, offset: u64) -> OffsetPageTable<''static>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/td-shim/td-paging/src/page_table.rs:189,1
    - Dst: U128::unwrap
      Src: /src/td-shim/td-paging/src/page_table.rs:189,1
    - Dst: create_pt
      Src: /src/td-shim/td-paging/src/page_table.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: tests::test_invalid_pa_sz
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 0
    functionsReached:
    - init
    - U128::unwrap
    - create_pt
    linkageType: ''
    returnType: void
    signature: fn test_invalid_pa_sz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/td-shim/td-paging/src/page_table.rs:204,1
    - Dst: U128::unwrap
      Src: /src/td-shim/td-paging/src/page_table.rs:204,1
    - Dst: create_pt
      Src: /src/td-shim/td-paging/src/page_table.rs:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: tests::test_invalid_va_sz
    functionSourceFile: /src/td-shim/td-paging/src/page_table.rs
    functionUses: 0
    functionsReached:
    - init
    - U128::unwrap
    - create_pt
    linkageType: ''
    returnType: void
    signature: fn test_invalid_va_sz()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-paging/src/lib.rs:36,1
    - Dst: reserve
      Src: /src/td-shim/td-paging/src/lib.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: reserve_page
    functionSourceFile: /src/td-shim/td-paging/src/lib.rs
    functionUses: 1
    functionsReached:
    - lock
    - reserve
    linkageType: ''
    returnType: void
    signature: 'pub fn reserve_page(addr: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: runner_utils::run_with_timeout
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:96,1
    - Dst: Duration::from_secs
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:96,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - Command
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: run_test_command
    functionSourceFile: /src/td-shim/devtools/test-runner-server/src/main.rs
    functionUses: 0
    functionsReached:
    - runner_utils::run_with_timeout
    - Duration::from_secs
    - unwrap
    linkageType: ''
    returnType: ExitStatus
    signature: 'fn run_test_command(mut cmd: Command) -> ExitStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: locate_bootloader
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:100,1
    - Dst: Result::unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:100,1
    - Dst: locate_manifest
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:101,1
    - Dst: Result::unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:101,1
    - Dst: Command::new
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:103,1
    - Dst: Result::current_dir
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:104,1
    - Dst: parent
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:104,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:104,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:105,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:106,1
    - Dst: u64::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:106,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:109,1
    - Dst: u64::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:109,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:110,1
    - Dst: u64::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:110,1
    - Dst: parent
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:112,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:112,1
    - Dst: join
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:112,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:113,1
    - Dst: u64::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:113,1
    - Dst: '&Path::parent'
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:115,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:115,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:116,1
    - Dst: Result::status
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:118,1
    - Dst: Result::unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:118,1
    - Dst: success
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:118,1
    - Dst: '&Path::file_name'
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:122,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:122,1
    - Dst: to_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:122,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:122,1
    - Dst: '&Path::parent'
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:123,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:123,1
    - Dst: join
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:123,1
    - Dst: exists
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 82
    argCount: 1
    argNames:
    - kernel_binary_path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 134
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 134
    functionName: create_disk_images
    functionSourceFile: /src/td-shim/devtools/test-runner-server/src/main.rs
    functionUses: 0
    functionsReached:
    - locate_manifest
    - parent
    - '&Path::parent'
    - exists
    - Result::current_dir
    - Result::unwrap
    - join
    - '&Path::file_name'
    - Command::new
    - unwrap
    - locate_bootloader
    - Result::arg
    - u64::arg
    - Result::status
    - success
    - to_str
    linkageType: ''
    returnType: PathBuf
    signature: 'fn create_disk_images(kernel_binary_path: &Path) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::var
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:137,1
    - Dst: Option::unwrap_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:137,1
    - Dst: '&str::to_owned'
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:137,1
    - Dst: Command::new
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:138,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:138,1
    - Dst: u64::output
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:138,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:138,1
    - Dst: success
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:139,1
    - Dst: Err
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:140,1
    - Dst: String::from_utf8
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:145,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:145,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:147,1
    - Dst: Result::expect
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:147,1
    - Dst: as_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:148,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:148,1
    - Dst: Ok
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:149,1
    - Dst: PathBuf::from
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 4
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: locate_manifest
    functionSourceFile: /src/td-shim/devtools/test-runner-server/src/main.rs
    functionUses: 1
    functionsReached:
    - String::from_utf8
    - u64::output
    - Result::expect
    - env::var
    - serde_json::from_str
    - success
    - Command::new
    - unwrap
    - as_str
    - Result::arg
    - Ok
    - PathBuf::from
    - Option::unwrap_or
    - '&str::to_owned'
    - ok_or
    - Err
    linkageType: ''
    returnType: Result
    signature: fn locate_manifest() -> Result<PathBuf, LocateError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: metadata
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:153,1
    - Dst: Result::unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:153,1
    - Dst: as_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:155,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:155,1
    - Dst: as_array
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:159,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:159,1
    - Dst: iter
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:159,1
    - Dst: find
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:159,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:159,1
    - Dst: as_array
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:166,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:166,1
    - Dst: iter
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:166,1
    - Dst: find
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:166,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:166,1
    - Dst: as_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:172,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:172,1
    - Dst: as_array
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:176,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:176,1
    - Dst: iter
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:176,1
    - Dst: find
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:176,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:176,1
    - Dst: as_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:182,1
    - Dst: ok_or
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:182,1
    - Dst: Ok
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:186,1
    - Dst: into
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 71
    argCount: 1
    argNames:
    - dependency_name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: locate_bootloader
    functionSourceFile: /src/td-shim/devtools/test-runner-server/src/main.rs
    functionUses: 1
    functionsReached:
    - find
    - metadata
    - Result::unwrap
    - into
    - as_str
    - unwrap
    - Ok
    - iter
    - ok_or
    - as_array
    linkageType: ''
    returnType: Result
    signature: 'fn locate_bootloader(dependency_name: &str) -> Result<PathBuf, LocateError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:190,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:191,1
    - Dst: Result::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:192,1
    - Dst: u64::arg
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:192,1
    - Dst: Result::output
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:193,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:193,1
    - Dst: success
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:195,1
    - Dst: Err
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:196,1
    - Dst: String::from_utf8
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:201,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:201,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:203,1
    - Dst: Result::expect
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:203,1
    - Dst: Ok
      Src: /src/td-shim/devtools/test-runner-server/src/main.rs:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: metadata
    functionSourceFile: /src/td-shim/devtools/test-runner-server/src/main.rs
    functionUses: 3
    functionsReached:
    - String::from_utf8
    - Result::output
    - Result::expect
    - serde_json::from_str
    - Command::new
    - unwrap
    - u64::arg
    - Result::arg
    - Ok
    - success
    - Err
    linkageType: ''
    returnType: Result
    signature: fn metadata() -> Result<serde_json::Value, LocateError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Tera::register_function'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:16,1
    - Dst: '&mut Tera::register_filter'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:17,1
    - Dst: '&mut Tera::register_filter'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tera
    argTypes:
    - '&mut Tera'
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: register_builtins
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - '&mut Tera::register_filter'
    - '&mut Tera::register_function'
    linkageType: ''
    returnType: void
    signature: 'fn register_builtins(tera: &mut Tera)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:22,1
    - Dst: and_then
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:22,1
    - Dst: Result::as_bool
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:22,1
    - Dst: unwrap_or
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:22,1
    - Dst: get
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:23,1
    - Dst: and_then
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:23,1
    - Dst: Result::as_bool
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:25,1
    - Dst: unwrap_or
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:23,1
    - Dst: chrono::Utc::now
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:28,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:30,1
    - Dst: serde_json::to_value
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:30,1
    - Dst: Option::timestamp
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:30,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:30,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:32,1
    - Dst: serde_json::to_value
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:32,1
    - Dst: Option::to_rfc3339
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:32,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:32,1
    - Dst: Local::now
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:34,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:36,1
    - Dst: serde_json::to_value
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:36,1
    - Dst: Option::timestamp
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:36,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:36,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:38,1
    - Dst: serde_json::to_value
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:38,1
    - Dst: Option::to_rfc3339
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:38,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 54
    argCount: 1
    argNames:
    - args
    argTypes:
    - '&HashMap<String, tera::Value>'
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 7
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: now
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 1
    functionsReached:
    - chrono::Utc::now
    - Local::now
    - Result::as_bool
    - Option::timestamp
    - unwrap
    - serde_json::to_value
    - and_then
    - Ok
    - unwrap_or
    - Option::to_rfc3339
    - get
    linkageType: ''
    returnType: Result
    signature: 'fn now(args: &HashMap<String, tera::Value>) -> Result<tera::Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:43,1
    - Dst: u32::as_str
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:44,1
    - Dst: '&''static str::ok_or_else'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:44,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:46,1
    - Dst: to_string
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:44,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:48,1
    - Dst: '&[u8]::contains'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:53,1
    - Dst: '&[u8]::parse'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:54,1
    - Dst: Option::map_err
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:54,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:56,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:57,1
    - Dst: Value::String
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:57,1
    - Dst: Option::format
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:57,1
    - Dst: Result::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:57,1
    - Dst: NaiveDateTime::parse_from_str
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:59,1
    - Dst: map_err
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:59,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:60,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:61,1
    - Dst: Value::String
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:61,1
    - Dst: Option::format
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:61,1
    - Dst: Result::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:61,1
    - Dst: '!::as_i64'
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:65,1
    - Dst: ok_or_else
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:65,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:66,1
    - Dst: chrono::DateTime::from_timestamp
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:68,1
    - Dst: ok_or_else
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:68,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:69,1
    - Dst: naive_utc
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:68,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:71,1
    - Dst: Value::String
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:71,1
    - Dst: Option::format
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:71,1
    - Dst: Result::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:71,1
    - Dst: Err
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:73,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 2
    argNames:
    - value
    - args
    argTypes:
    - '&Value'
    - '&HashMap<String, Value>'
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: date
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 1
    functionsReached:
    - to_string
    - chrono::DateTime::from_timestamp
    - '&[u8]::parse'
    - '&str::to_string'
    - '!::as_i64'
    - '&[u8]::contains'
    - get
    - '&''static str::ok_or_else'
    - naive_utc
    - Ok
    - tera::Error::msg
    - Result::to_string
    - NaiveDateTime::parse_from_str
    - ok_or_else
    - Value::String
    - Err
    - map_err
    - Option::map_err
    - Option::format
    - u32::as_str
    linkageType: ''
    returnType: Result
    signature: 'fn date(value: &Value, args: &HashMap<String, Value>) -> Result<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serde_json::from_value
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:80,1
    - Dst: clone
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:80,1
    - Dst: map_err
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:80,1
    - Dst: tera::Error::msg
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:81,1
    - Dst: get
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:82,1
    - Dst: and_then
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:82,1
    - Dst: Result::as_bool
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:84,1
    - Dst: unwrap_or
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:82,1
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:91,1
    - Dst: serde_json::to_value
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:91,1
    - Dst: humansize::format_size
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:91,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - value
    - args
    argTypes:
    - '&Value'
    - '&HashMap<String, Value>'
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 7
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: filesizeformat
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - map_err
    - humansize::format_size
    - clone
    - Result::as_bool
    - serde_json::from_value
    - unwrap
    - serde_json::to_value
    - and_then
    - Ok
    - unwrap_or
    - tera::Error::msg
    - get
    linkageType: ''
    returnType: Result
    signature: 'fn filesizeformat(value: &Value, args: &HashMap<String, Value>) ->
      Result<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tera::default
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:96,1
    - Dst: register_builtins
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:97,1
    - Dst: Self::register_filter
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:98,1
    - Dst: Self::register_filter
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:99,1
    - Dst: Self::register_filter
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:100,1
    - Dst: Self::add_raw_template
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:101,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:101,1
    - Dst: Context::new
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:103,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:104,1
    - Dst: Result::get_regions
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:104,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:105,1
    - Dst: Result::get_top
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:105,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:107,1
    - Dst: Result::get_top
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:107,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:108,1
    - Dst: Result::get_top
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:108,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:109,1
    - Dst: Self::render
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 2
    argNames:
    - image_layout
    - fw_top
    argTypes:
    - '&LayoutConfig'
    - usize
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: render_image
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - digest::Context::insert
    - Self::render
    - Self::add_raw_template
    - Result::get_regions
    - register_builtins
    - Result::get_top
    - Self::register_filter
    - expect
    - Context::new
    - Tera::default
    linkageType: ''
    returnType: Result
    signature: 'pub fn render_image(image_layout: &LayoutConfig, fw_top: usize) ->
      Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tera::default
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:115,1
    - Dst: register_builtins
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:116,1
    - Dst: Self::register_filter
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:117,1
    - Dst: Self::register_filter
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:118,1
    - Dst: Self::register_filter
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:119,1
    - Dst: Self::add_raw_template
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:120,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:120,1
    - Dst: Context::new
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:122,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:123,1
    - Dst: PathBuf::get_regions
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:123,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:124,1
    - Dst: PathBuf::get_top
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:124,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:125,1
    - Dst: PathBuf::get_total_usage
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:125,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:126,1
    - Dst: PathBuf::get_base
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:126,1
    - Dst: digest::Context::insert
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:127,1
    - Dst: Self::render
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 1
    argNames:
    - memory_layout
    argTypes:
    - '&LayoutConfig'
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: render_memory
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - PathBuf::get_top
    - digest::Context::insert
    - Self::render
    - Self::add_raw_template
    - PathBuf::get_total_usage
    - PathBuf::get_base
    - register_builtins
    - Self::register_filter
    - expect
    - Context::new
    - PathBuf::get_regions
    - Tera::default
    linkageType: ''
    returnType: Result
    signature: 'pub fn render_memory(memory_layout: &LayoutConfig) -> Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:135,1
    - Dst: Value::String
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - _args
    argTypes:
    - '&Value'
    - '&HashMap<String, Value>'
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: format_hex
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - Value::String
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn format_hex(value: &Value, _args: &HashMap<String, Value>) ->
      Result<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:149,1
    - Dst: Value::String
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - _args
    argTypes:
    - '&Value'
    - '&HashMap<String, Value>'
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: format_name
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - Value::String
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn format_name(value: &Value, _args: &HashMap<String, Value>)
      -> Result<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:155,1
    - Dst: Value::String
      Src: /src/td-shim/devtools/td-layout-config/src/render.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _args
    argTypes:
    - '&Value'
    - '&HashMap<String, Value>'
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: format_layout_border
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/render.rs
    functionUses: 0
    functionsReached:
    - Value::String
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn format_layout_border(_: &Value, _args: &HashMap<String, Value>)
      -> Result<Value>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serde_json::from_str::<ImageConfig>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:50,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:50,1
    - Dst: is_some
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:54,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:55,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:55,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:55,1
    - Dst: Result::is_some
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:60,1
    - Dst: serde_json::from_str::<Metadata>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:61,1
    - Dst: Result::unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:61,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:61,1
    - Dst: parse_int::parse::<usize>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:67,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:67,1
    - Dst: LayoutConfig::new
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:74,1
    - Dst: Result::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:77,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:79,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:79,1
    - Dst: Result::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:83,1
    - Dst: Result::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:86,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:88,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:88,1
    - Dst: Result::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:92,1
    - Dst: Result::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:95,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:97,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:97,1
    - Dst: Result::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:100,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:102,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:102,1
    - Dst: Result::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:106,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:108,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:108,1
    - Dst: Result::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:111,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:113,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:113,1
    - Dst: Result::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:117,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:119,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:119,1
    - Dst: Result::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:124,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:126,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:126,1
    - Dst: Result::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:132,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:134,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:134,1
    - Dst: Result::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:140,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:142,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:142,1
    - Dst: render::render_image
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:147,1
    - Dst: Result::expect
      Src: /src/td-shim/devtools/td-layout-config/src/image.rs:147,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 155
    argCount: 2
    argNames:
    - data
    - metadata
    argTypes:
    - String
    - Option<String>
    constantsTouched: []
    func_position:
      end: 148
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 148
    functionName: parse_image
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/image.rs
    functionUses: 0
    functionsReached:
    - is_some
    - parse_int::parse::<usize>
    - Result::reserve_low
    - Result::reserve_high
    - Result::unwrap
    - Result::expect
    - unwrap
    - Result::is_some
    - LayoutConfig::new
    - expect
    - parse_int::parse::<u32>
    - serde_json::from_str::<Metadata>
    - serde_json::from_str::<ImageConfig>
    - render::render_image
    linkageType: ''
    returnType: String
    signature: 'pub fn parse_image(data: String, metadata: Option<String>) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serde_json::from_str::<MemoryConfig>
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:22,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:22,1
    - Dst: LayoutConfig::new
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:25,1
    - Dst: parse_int::parse::<usize>
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:28,1
    - Dst: unwrap
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:28,1
    - Dst: as_str
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:29,1
    - Dst: PathBuf::reserve_low
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:30,1
    - Dst: PathBuf::reserve_high
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:32,1
    - Dst: render::render_memory
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:36,1
    - Dst: Result::expect
      Src: /src/td-shim/devtools/td-layout-config/src/memory.rs:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - data
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: parse_memory
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/memory.rs
    functionUses: 0
    functionsReached:
    - parse_int::parse::<usize>
    - serde_json::from_str::<MemoryConfig>
    - PathBuf::reserve_high
    - Result::expect
    - as_str
    - unwrap
    - LayoutConfig::new
    - expect
    - PathBuf::reserve_low
    - render::render_memory
    linkageType: ''
    returnType: String
    signature: 'pub fn parse_memory(data: String) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/td-shim/devtools/td-layout-config/src/main.rs:65,1
    - Dst: std::fs::write
      Src: /src/td-shim/devtools/td-layout-config/src/main.rs:69,1
    - Dst: as_bytes
      Src: /src/td-shim/devtools/td-layout-config/src/main.rs:69,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/main.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - cli
    - data
    - dir
    argTypes:
    - '&Cli'
    - String
    - Option<PathBuf>
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: output
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/main.rs
    functionUses: 2
    functionsReached:
    - as_bytes
    - std::fs::write
    - expect
    - print
    linkageType: ''
    returnType: void
    signature: 'fn output(cli: &Cli, data: String, dir: Option<PathBuf>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pascalcase::to_pascal_case
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:23,1
    - Dst: screamingsnakecase::to_screaming_snake_case
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - name
    - region
    - entry_type
    - tolm
    argTypes:
    - String
    - Range<usize>
    - String
    - bool
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: LayoutEntry::new
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - screamingsnakecase::to_screaming_snake_case
    - pascalcase::to_pascal_case
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(name: String, region: Range<usize>, entry_type: String,
      tolm: bool) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 48
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 48
    functionName: LayoutEntry::fmt
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - base
    - top
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: LayoutConfig::new
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(base: usize, top: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LayoutConfig::free_base
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:74,1
    - Dst: usize::checked_add
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:74,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:74,1
    - Dst: insert
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:80,1
    - Dst: LayoutEntry::new
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:82,1
    - Dst: String::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:83,1
    - Dst: LayoutConfig::free_base
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:84,1
    - Dst: LayoutConfig::free_base
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:84,1
    - Dst: T::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 3
    argNames:
    - name
    - length
    - entry_type
    argTypes:
    - T
    - usize
    - T
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: LayoutConfig::reserve_low
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - T::to_string
    - String::to_string
    - LayoutConfig::free_base
    - expect
    - usize::checked_add
    - LayoutEntry::new
    - insert
    linkageType: ''
    returnType: void
    signature: 'pub fn reserve_low<T: ToString>(&mut self, name: T, length: usize,
      entry_type: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LayoutConfig::free_top
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:95,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:95,1
    - Dst: expect
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:95,1
    - Dst: insert
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:100,1
    - Dst: LayoutEntry::new
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:102,1
    - Dst: String::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:103,1
    - Dst: T::to_string
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:105,1
    - Dst: LayoutConfig::free_base
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - name
    - length
    - entry_type
    argTypes:
    - T
    - usize
    - T
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: LayoutConfig::reserve_high
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - T::to_string
    - String::to_string
    - LayoutConfig::free_base
    - expect
    - LayoutEntry::new
    - usize::checked_sub
    - LayoutConfig::free_top
    - insert
    linkageType: ''
    returnType: void
    signature: 'pub fn reserve_high<T: ToString>(&mut self, name: T, length: usize,
      entry_type: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LayoutConfig::free_top
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:114,1
    - Dst: LayoutConfig::free_base
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: LayoutConfig::get_total_usage
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - LayoutConfig::free_top
    - LayoutConfig::free_base
    linkageType: ''
    returnType: usize
    signature: pub fn get_total_usage(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: LayoutConfig::get_regions
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - as_slice
    linkageType: ''
    returnType: '&[LayoutEntry]'
    signature: pub fn get_regions(&self) -> &[LayoutEntry]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: LayoutConfig::get_base
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn get_base(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: LayoutConfig::get_top
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn get_top(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: LayoutConfig::free_base
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn free_base(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: LayoutConfig::free_top
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn free_top(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:139,1
    - Dst: find
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: LayoutConfig::get_layout_region
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - find
    - iter
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_layout_region(&self, name: &''static str) -> Option<&LayoutEntry>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: LayoutConfig::fmt
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - iter
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LayoutConfig::new
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:159,1
    - Dst: '&[LayoutEntry]::reserve_low'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:160,1
    - Dst: '&[LayoutEntry]::reserve_low'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:161,1
    - Dst: '&[LayoutEntry]::reserve_low'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:162,1
    - Dst: '&[LayoutEntry]::reserve_low'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:163,1
    - Dst: '&[LayoutEntry]::reserve_low'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:164,1
    - Dst: '&[LayoutEntry]::reserve_high'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:165,1
    - Dst: '&[LayoutEntry]::reserve_high'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:166,1
    - Dst: '&[LayoutEntry]::reserve_high'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:167,1
    - Dst: '&[LayoutEntry]::reserve_high'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:168,1
    - Dst: '&[LayoutEntry]::reserve_high'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:169,1
    - Dst: '&[LayoutEntry]::reserve_high'
      Src: /src/td-shim/devtools/td-layout-config/src/layout.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: test::test_basic
    functionSourceFile: /src/td-shim/devtools/td-layout-config/src/layout.rs
    functionUses: 0
    functionsReached:
    - LayoutConfig::new
    - '&[LayoutEntry]::reserve_low'
    - '&[LayoutEntry]::reserve_high'
    linkageType: ''
    returnType: void
    signature: fn test_basic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_stack
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:43,1
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - mark
    - mark_stack_size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: StackProfiling::init
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 1
    functionsReached:
    - mark_stack
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn init(mark: u64, mark_stack_size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:64,1
    - Dst: calculate_stack_usage
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: StackProfiling::stack_usage
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 1
    functionsReached:
    - lock
    - calculate_stack_usage
    linkageType: ''
    returnType: Option
    signature: pub fn stack_usage() -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:76,1
    - Dst: iter_mut
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mark
    - mark_stack_size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: mark_stack
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 1
    functionsReached:
    - iter_mut
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: usize
    signature: 'fn mark_stack(mark: u64, mark_stack_size: usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:85,1
    - Dst: iter
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:87,1
    - Dst: enumerate
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:87,1
    - Dst: take
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:87,1
    - Dst: Some
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - base
    - mark
    - mark_stack_size
    argTypes:
    - usize
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: calculate_stack_usage
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 1
    functionsReached:
    - core::slice::from_raw_parts
    - Some
    - iter
    - enumerate
    - take
    linkageType: ''
    returnType: Option
    signature: 'fn calculate_stack_usage(base: usize, mark: u64, mark_stack_size:
      usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_stack
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:107,1
    - Dst: function_use_stack
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:108,1
    - Dst: calculate_stack_usage
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:109,1
    - Dst: Option::unwrap
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: test::stack_use
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 0
    functionsReached:
    - function_use_stack
    - mark_stack
    - Option::unwrap
    - calculate_stack_usage
    linkageType: ''
    returnType: void
    signature: fn stack_use()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackProfiling::init
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:117,1
    - Dst: function_use_stack
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:118,1
    - Dst: StackProfiling::stack_usage
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:119,1
    - Dst: Option::unwrap
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: test::stack_use_profiling
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 0
    functionsReached:
    - function_use_stack
    - Option::unwrap
    - StackProfiling::init
    - StackProfiling::stack_usage
    linkageType: ''
    returnType: void
    signature: fn stack_use_profiling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: StackProfiling::init
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:125,1
    - Dst: StackProfiling::stack_usage
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: test::stack_use_invalid
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 0
    functionsReached:
    - StackProfiling::init
    - StackProfiling::stack_usage
    linkageType: ''
    returnType: void
    signature: fn stack_use_invalid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloca::with_alloca
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:130,1
    - Dst: iter_mut
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:133,1
    - Dst: u8::write
      Src: /src/td-shim/devtools/td-benchmark/src/stack.rs:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: test::function_use_stack
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/stack.rs
    functionUses: 0
    functionsReached:
    - alloca::with_alloca
    - u8::write
    - iter_mut
    linkageType: ''
    returnType: void
    signature: fn function_use_stack()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:53,1
    - Dst: init
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - heap_start
    - heap_size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: HeapProfiling::init
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached:
    - init
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn init(heap_start: u64, heap_size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:70,1
    - Dst: Some
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:71,1
    - Dst: get_max_heap
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: HeapProfiling::heap_usage
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached:
    - Some
    - lock
    - get_max_heap
    linkageType: ''
    returnType: Option
    signature: pub fn heap_usage() -> Option<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LockedHeap::empty
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 5
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: AllocInfo::empty
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached:
    - LockedHeap::empty
    linkageType: ''
    returnType: Self
    signature: pub const fn empty() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:97,1
    - Dst: init
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - heap_start
    - heap_size
    argTypes:
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: AllocInfo::init
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached:
    - init
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn init(&mut self, heap_start: u64, heap_size: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: AllocInfo::get_max_heap
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn get_max_heap(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:108,1
    - Dst: alloc
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:109,1
    - Dst: String::is_null
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:110,1
    - Dst: PathBuf::size
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - layout
    argTypes:
    - Layout
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: Alloc::alloc
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached:
    - String::is_null
    - alloc
    - lock
    - PathBuf::size
    linkageType: ''
    returnType: '*mut u8'
    signature: 'unsafe fn alloc(&self, layout: Layout) -> *mut u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:120,1
    - Dst: dealloc
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:121,1
    - Dst: PathBuf::size
      Src: /src/td-shim/devtools/td-benchmark/src/heap.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ptr
    - layout
    argTypes:
    - '*mut u8'
    - Layout
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: Alloc::dealloc
    functionSourceFile: /src/td-shim/devtools/td-benchmark/src/heap.rs
    functionUses: 0
    functionsReached:
    - PathBuf::size
    - dealloc
    - lock
    linkageType: ''
    returnType: void
    signature: 'unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: interrupts::without_interrupts
      Src: /src/td-shim/devtools/test-runner-client/src/serial.rs:28,1
    - Dst: lock
      Src: /src/td-shim/devtools/test-runner-client/src/serial.rs:29,1
    - Dst: write_fmt
      Src: /src/td-shim/devtools/test-runner-client/src/serial.rs:29,1
    - Dst: expect
      Src: /src/td-shim/devtools/test-runner-client/src/serial.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - args
    argTypes:
    - ::core::fmt::Arguments
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: _print
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/serial.rs
    functionUses: 0
    functionsReached:
    - interrupts::without_interrupts
    - expect
    - write_fmt
    - lock
    linkageType: ''
    returnType: void
    signature: 'pub fn _print(args: ::core::fmt::Arguments)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: $crate::serial::_print
      Src: /src/td-shim/devtools/test-runner-client/src/serial.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: serial_print
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/serial.rs
    functionUses: 0
    functionsReached:
    - $crate::serial::_print
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: serial_println
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/serial.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_println
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:46,1
    - Dst: TestResult::run
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:48,1
    - Dst: exit_qemu
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tests
    argTypes:
    - '&[&dyn Testable]'
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: test_runner
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/lib.rs
    functionUses: 0
    functionsReached:
    - serial_println
    - TestResult::run
    - exit_qemu
    linkageType: ''
    returnType: void
    signature: 'pub fn test_runner(tests: &[&dyn Testable])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serial_print
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:63,1
    - Dst: serial_println
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: T::run
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/lib.rs
    functionUses: 0
    functionsReached:
    - serial_println
    - serial_print
    linkageType: ''
    returnType: void
    signature: fn run(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Port::new
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:82,1
    - Dst: Rtmr::write
      Src: /src/td-shim/devtools/test-runner-client/src/lib.rs:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - exit_code
    argTypes:
    - QemuExitCode
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: exit_qemu
    functionSourceFile: /src/td-shim/devtools/test-runner-client/src/lib.rs
    functionUses: 2
    functionsReached:
    - Rtmr::write
    - Port::new
    linkageType: ''
    returnType: '!'
    signature: 'pub fn exit_qemu(exit_code: QemuExitCode) -> !'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: tdlog
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::level
      Src: /src/td-shim/td-logger/src/lib.rs:22,1
    - Dst: log::max_level
      Src: /src/td-shim/td-logger/src/lib.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - '&Metadata'
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: LoggerBackend::enabled
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached:
    - log::max_level
    - Result::level
    linkageType: ''
    returnType: bool
    signature: 'fn enabled(&self, metadata: &Metadata) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LoggerBackend::enabled
      Src: /src/td-shim/td-logger/src/lib.rs:26,1
    - Dst: '&Record::metadata'
      Src: /src/td-shim/td-logger/src/lib.rs:26,1
    - Dst: tdlog
      Src: /src/td-shim/td-logger/src/lib.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - record
    argTypes:
    - '&Record'
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: LoggerBackend::log
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&Record::metadata'
    - LoggerBackend::enabled
    - tdlog
    linkageType: ''
    returnType: void
    signature: 'fn log(&self, record: &Record)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: LoggerBackend::flush
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn flush(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbg_port_write
      Src: /src/td-shim/td-logger/src/lib.rs:44,1
    - Dst: dbg_port_write
      Src: /src/td-shim/td-logger/src/lib.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: dbg_write_byte
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached:
    - dbg_port_write
    linkageType: ''
    returnType: void
    signature: 'pub fn dbg_write_byte(byte: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::chars'
      Src: /src/td-shim/td-logger/src/lib.rs:55,1
    - Dst: fold
      Src: /src/td-shim/td-logger/src/lib.rs:55,1
    - Dst: dbg_write_byte
      Src: /src/td-shim/td-logger/src/lib.rs:58,1
    - Dst: dbg_write_byte
      Src: /src/td-shim/td-logger/src/lib.rs:60,1
    - Dst: dbg_write_byte
      Src: /src/td-shim/td-logger/src/lib.rs:68,1
    - Dst: '&[u8]::chars'
      Src: /src/td-shim/td-logger/src/lib.rs:80,1
    - Dst: for_each
      Src: /src/td-shim/td-logger/src/lib.rs:80,1
    - Dst: dbg_write_byte
      Src: /src/td-shim/td-logger/src/lib.rs:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: dbg_write_string
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::chars'
    - for_each
    - fold
    - dbg_write_byte
    linkageType: ''
    returnType: void
    signature: 'pub fn dbg_write_string(s: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - _byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: dbg_port_write
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn dbg_port_write(_byte: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/td-shim/td-logger/src/lib.rs:135,1
    - Dst: U128::unwrap
      Src: /src/td-shim/td-logger/src/lib.rs:135,1
    - Dst: lock
      Src: /src/td-shim/td-logger/src/lib.rs:138,1
    - Dst: set_level
      Src: /src/td-shim/td-logger/src/lib.rs:138,1
    - Dst: lock
      Src: /src/td-shim/td-logger/src/lib.rs:142,1
    - Dst: set_mask
      Src: /src/td-shim/td-logger/src/lib.rs:142,1
    - Dst: lock
      Src: /src/td-shim/td-logger/src/lib.rs:145,1
    - Dst: write_byte
      Src: /src/td-shim/td-logger/src/lib.rs:145,1
    - Dst: lock
      Src: /src/td-shim/td-logger/src/lib.rs:146,1
    - Dst: write_string
      Src: /src/td-shim/td-logger/src/lib.rs:146,1
    - Dst: lock
      Src: /src/td-shim/td-logger/src/lib.rs:148,1
    - Dst: set_level
      Src: /src/td-shim/td-logger/src/lib.rs:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: tests::test_logger
    functionSourceFile: /src/td-shim/td-logger/src/lib.rs
    functionUses: 0
    functionsReached:
    - set_level
    - write_string
    - init
    - U128::unwrap
    - set_mask
    - lock
    - write_byte
    linkageType: ''
    returnType: void
    signature: fn test_logger()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbg_port_write
      Src: /src/td-shim/td-logger/src/logger.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: Logger::write_byte
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached:
    - dbg_port_write
    linkageType: ''
    returnType: void
    signature: 'pub fn write_byte(&mut self, byte: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dbg_write_string
      Src: /src/td-shim/td-logger/src/logger.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: Logger::write_string
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached:
    - dbg_write_string
    linkageType: ''
    returnType: void
    signature: 'pub fn write_string(&mut self, s: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Logger::get_level
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn get_level(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Logger::set_level
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_level(&mut self, level: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Logger::get_mask
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: pub fn get_mask(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mask
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: Logger::set_mask
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_mask(&mut self, mask: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Logger::write_string
      Src: /src/td-shim/td-logger/src/logger.rs:64,1
    - Dst: Ok
      Src: /src/td-shim/td-logger/src/logger.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: Logger::write_str
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached:
    - Logger::write_string
    - Ok
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn write_str(&mut self, s: &str) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-logger/src/logger.rs:71,1
    - Dst: get_level
      Src: /src/td-shim/td-logger/src/logger.rs:72,1
    - Dst: get_mask
      Src: /src/td-shim/td-logger/src/logger.rs:72,1
    - Dst: write_fmt
      Src: /src/td-shim/td-logger/src/logger.rs:73,1
    - Dst: unwrap
      Src: /src/td-shim/td-logger/src/logger.rs:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - level
    - mask
    - args
    argTypes:
    - usize
    - u64
    - fmt::Arguments
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: _log_ex
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 0
    functionsReached:
    - write_fmt
    - get_level
    - unwrap
    - lock
    - get_mask
    linkageType: ''
    returnType: void
    signature: 'pub fn _log_ex(level: usize, mask: u64, args: fmt::Arguments)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lock
      Src: /src/td-shim/td-logger/src/logger.rs:79,1
    - Dst: write_fmt
      Src: /src/td-shim/td-logger/src/logger.rs:79,1
    - Dst: unwrap
      Src: /src/td-shim/td-logger/src/logger.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - fmt::Arguments
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: _log
    functionSourceFile: /src/td-shim/td-logger/src/logger.rs
    functionUses: 5
    functionsReached:
    - write_fmt
    - lock
    - unwrap
    linkageType: ''
    returnType: void
    signature: 'pub fn _log(args: fmt::Arguments)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::env::current_exe
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: parent
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: parent
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: to_path_buf
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:16,1
    - Dst: PathBuf::push
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: bin_path
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - parent
    - to_path_buf
    - PathBuf::push
    - unwrap
    - std::env::current_exe
    linkageType: ''
    returnType: PathBuf
    signature: fn bin_path() -> PathBuf
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:71,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:76,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:76,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:79,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:79,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:82,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:82,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:85,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:85,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:95,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:95,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:96,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:96,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:97,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:97,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:100,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:100,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:103,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:103,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:106,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:106,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:110,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:110,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:111,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:111,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:114,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:114,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:117,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:117,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:120,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:120,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:123,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:123,1
    - Dst: Result::pwrite_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:127,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 132
    functionName: build_test_image
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - Result::pwrite_with
    - unwrap
    - copy_from_slice
    linkageType: ''
    returnType: Vec
    signature: fn build_test_image() -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:140,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:140,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:140,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:140,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: test_patch_metadata_missing_args
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_patch_metadata_missing_args()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:150,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:150,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:151,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:151,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:152,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:152,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:154,1
    - Dst: build_test_image
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:154,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:154,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:158,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:158,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:158,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:162,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:162,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:164,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:164,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:158,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:158,1
    - Dst: std::fs::read
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:178,1
    - Dst: T::unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:178,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:183,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:183,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:188,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:188,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:190,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 193
    functionName: test_patch_metadata_patches_signature_and_zeros_attributes
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - T::unwrap
    - std::fs::write
    - PathBuf::join
    - build_test_image
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - scroll::Pread::pread_with
    - status
    - tempfile::tempdir
    - PathBuf::path
    - std::fs::read
    linkageType: ''
    returnType: void
    signature: fn test_patch_metadata_patches_signature_and_zeros_attributes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:197,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:197,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:198,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:198,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:199,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:199,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:202,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:202,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:204,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:204,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:204,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:208,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:208,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:210,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:210,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:204,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 218
    functionName: test_patch_metadata_invalid_image
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - std::fs::write
    - PathBuf::join
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - status
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_patch_metadata_invalid_image()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:226,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:226,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:226,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:226,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: test_patch_params_missing_args
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_patch_params_missing_args()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:236,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:236,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:237,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:237,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:238,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:238,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:239,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:239,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:241,1
    - Dst: build_test_image
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:241,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:241,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:251,1
    - Dst: serde_json::to_string_pretty
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:253,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:253,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:251,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:257,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:257,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:257,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:261,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:261,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:263,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:263,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:265,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:265,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:257,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:257,1
    - Dst: std::fs::read
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:274,1
    - Dst: T::unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:274,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:278,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:278,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:283,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:283,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:288,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 290
    functionName: test_patch_params_writes_td_params_region
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - T::unwrap
    - std::fs::write
    - PathBuf::join
    - build_test_image
    - Result::expect
    - to_str
    - unwrap
    - serde_json::to_string_pretty
    - Command::new
    - scroll::Pread::pread_with
    - status
    - tempfile::tempdir
    - PathBuf::path
    - std::fs::read
    linkageType: ''
    returnType: void
    signature: fn test_patch_params_writes_td_params_region()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:294,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:294,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:295,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:295,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:296,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:296,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:297,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:297,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:299,1
    - Dst: build_test_image
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:299,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:299,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:300,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:300,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:302,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:302,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:302,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:306,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:306,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:308,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:308,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:310,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:310,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:302,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 316
    functionName: test_patch_params_invalid_json
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - std::fs::write
    - PathBuf::join
    - build_test_image
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - status
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_patch_params_invalid_json()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:324,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:324,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:324,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:324,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: test_patch_td_info_missing_args
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_patch_td_info_missing_args()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:334,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:334,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:335,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:335,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:336,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:336,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:337,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:337,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:339,1
    - Dst: build_test_image
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:339,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:339,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:343,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:343,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:345,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:345,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:345,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:349,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:349,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:351,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:351,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:359,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:359,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:345,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:345,1
    - Dst: std::fs::read
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:368,1
    - Dst: T::unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:368,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:386,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:386,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:391,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:391,1
    - Dst: scroll::Pread::pread_with
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:396,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 405
    functionName: test_patch_td_info_writes_header_and_blob
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - T::unwrap
    - std::fs::write
    - PathBuf::join
    - build_test_image
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - scroll::Pread::pread_with
    - status
    - tempfile::tempdir
    - PathBuf::path
    - std::fs::read
    linkageType: ''
    returnType: void
    signature: fn test_patch_td_info_writes_header_and_blob()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:409,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:409,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:410,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:410,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:411,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:411,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:412,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:412,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:414,1
    - Dst: build_test_image
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:414,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:414,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:418,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:418,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:420,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:420,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:420,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:424,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:424,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:426,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:426,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:434,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:434,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:420,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 443
    functionName: test_patch_td_info_blob_too_large
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - std::fs::write
    - PathBuf::join
    - build_test_image
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - status
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_patch_td_info_blob_too_large()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:451,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:451,1
    - Dst: Result::output
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:451,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 4
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: test_patch_no_subcommand
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - expect
    - Result::output
    - Command::new
    linkageType: ''
    returnType: void
    signature: fn test_patch_no_subcommand()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:460,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:460,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:460,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:460,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:460,1
    - Dst: String::from_utf8_lossy
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: test_patch_unknown_subcommand
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - String::from_utf8_lossy
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_patch_unknown_subcommand()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:472,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:472,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:472,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:472,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:472,1
    - Dst: String::from_utf8_lossy
      Src: /src/td-shim/td-shim-tools/tests/patch-test.rs:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: test_patch_help
    functionSourceFile: /src/td-shim/td-shim-tools/tests/patch-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - String::from_utf8_lossy
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_patch_help()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:25,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:26,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dir
    - content
    argTypes:
    - '&std::path::Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: write_layout
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - std::fs::write
    - PathBuf::join
    - unwrap
    linkageType: ''
    returnType: PathBuf
    signature: 'fn write_layout(dir: &std::path::Path, content: &str) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:32,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:32,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:33,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:33,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:35,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:36,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:50,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:50,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:50,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:53,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:53,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:55,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:55,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:50,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:50,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:63,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:63,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:64,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:64,1
    - Dst: as_array
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:65,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 31
    functionDepth: 4
    functionLinenumber: 31
    functionLinenumberEnd: 73
    functionName: test_metadata_gen_with_layout
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - std::fs::read_to_string
    - Result::args
    - '&''static str::unwrap'
    - as_array
    - PathBuf::to_str
    - PathBuf::join
    - Result::expect
    - serde_json::from_str
    - to_str
    - unwrap
    - Command::new
    - Result::unwrap
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_with_layout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:77,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:78,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dir
    - content
    argTypes:
    - '&std::path::Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: write_memory_layout
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - std::fs::write
    - PathBuf::join
    - unwrap
    linkageType: ''
    returnType: PathBuf
    signature: 'fn write_memory_layout(dir: &std::path::Path, content: &str) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:84,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:84,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:85,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:85,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:87,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:88,1
    - Dst: write_memory_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:102,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:103,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:111,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:111,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:111,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:114,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:114,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:116,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:116,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:118,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:118,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:111,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:111,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:125,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:125,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:126,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:126,1
    - Dst: as_array
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:127,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 136
    functionName: test_metadata_gen_with_perm_mem
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - std::fs::read_to_string
    - Result::args
    - '&''static str::unwrap'
    - as_array
    - PathBuf::to_str
    - PathBuf::join
    - write_memory_layout
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - serde_json::from_str
    - Result::unwrap
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_with_perm_mem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:140,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:140,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:141,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:141,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:143,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:144,1
    - Dst: write_memory_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:156,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:157,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:166,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:166,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:166,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:169,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:169,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:171,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:171,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:173,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:173,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:166,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:166,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:180,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:180,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:181,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:181,1
    - Dst: as_array
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:182,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 189
    functionName: test_metadata_gen_with_multiple_perm_mem
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - std::fs::read_to_string
    - Result::args
    - '&''static str::unwrap'
    - as_array
    - PathBuf::to_str
    - PathBuf::join
    - write_memory_layout
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - serde_json::from_str
    - Result::unwrap
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_with_multiple_perm_mem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:193,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:193,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:194,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:194,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:196,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:197,1
    - Dst: write_memory_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:209,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:210,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:221,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:221,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:221,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:224,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:224,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:226,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:226,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:228,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:228,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:221,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:221,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:235,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:235,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:236,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:236,1
    - Dst: as_array
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:237,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 248
    functionName: test_metadata_gen_with_additional_temp_mem
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - std::fs::read_to_string
    - Result::args
    - '&''static str::unwrap'
    - as_array
    - PathBuf::to_str
    - PathBuf::join
    - write_memory_layout
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - serde_json::from_str
    - Result::unwrap
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_with_additional_temp_mem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:252,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:252,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:253,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:253,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:255,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:256,1
    - Dst: write_memory_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:269,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:270,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:280,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:280,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:280,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:283,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:283,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:285,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:285,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:287,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:287,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:280,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 293
    functionName: test_metadata_gen_overlap_detection
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - '&''static str::unwrap'
    - PathBuf::to_str
    - PathBuf::join
    - write_memory_layout
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_overlap_detection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:297,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:297,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:298,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:298,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:301,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:302,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:314,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:314,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:314,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:317,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:317,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:319,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:319,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:314,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:314,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:326,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:326,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:327,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:327,1
    - Dst: as_array
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:328,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 334
    functionName: test_metadata_gen_layout_without_tdparams
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - std::fs::read_to_string
    - Result::args
    - '&''static str::unwrap'
    - as_array
    - PathBuf::to_str
    - PathBuf::join
    - Result::expect
    - serde_json::from_str
    - to_str
    - unwrap
    - Command::new
    - Result::unwrap
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_layout_without_tdparams()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:339,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:339,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:340,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:340,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:342,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:343,1
    - Dst: write_memory_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:357,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:358,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:366,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:366,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:366,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:369,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:369,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:371,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:371,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:373,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:373,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:366,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:366,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:380,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:380,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:381,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:381,1
    - Dst: as_array
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:382,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 386
    functionName: test_metadata_gen_sample_nrx_image_template
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - std::fs::read_to_string
    - Result::args
    - '&''static str::unwrap'
    - as_array
    - PathBuf::to_str
    - PathBuf::join
    - write_memory_layout
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - serde_json::from_str
    - Result::unwrap
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_sample_nrx_image_template()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:390,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:390,1
    - Dst: Result::status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:390,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 4
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: test_metadata_gen_missing_args
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::status
    - Command::new
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_missing_args()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:399,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:399,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:400,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:400,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:402,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:402,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:402,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:407,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:407,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:402,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 416
    functionName: test_metadata_gen_missing_layout_file
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - PathBuf::join
    - Result::expect
    - to_str
    - Command::new
    - unwrap
    - status
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_missing_layout_file()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:420,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:420,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:421,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:421,1
    - Dst: write_layout
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:423,1
    - Dst: PathBuf::path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:423,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:425,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:425,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:425,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:428,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:428,1
    - Dst: PathBuf::to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:430,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:430,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:432,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:432,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:425,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 438
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 438
    functionName: test_metadata_gen_duplicate_args
    functionSourceFile: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - '&''static str::unwrap'
    - PathBuf::to_str
    - PathBuf::join
    - Result::expect
    - to_str
    - unwrap
    - Command::new
    - status
    - write_layout
    - tempfile::tempdir
    - PathBuf::path
    linkageType: ''
    returnType: void
    signature: fn test_metadata_gen_duplicate_args()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:29,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:29,1
    - Dst: Result::status
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:29,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: test_image_layout_missing_args
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::status
    - Command::new
    - Result::expect
    linkageType: ''
    returnType: void
    signature: fn test_image_layout_missing_args()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:38,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:38,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:38,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:38,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: test_image_layout_missing_payload_binary
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - Result::expect
    - Command::new
    - status
    linkageType: ''
    returnType: void
    signature: fn test_image_layout_missing_payload_binary()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:48,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:48,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:48,1
    - Dst: status
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:48,1
    - Dst: Result::expect
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: test_image_layout_missing_project_root
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - Result::expect
    - Command::new
    - status
    linkageType: ''
    returnType: void
    signature: fn test_image_layout_missing_project_root()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:58,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:58,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:58,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:58,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:58,1
    - Dst: String::from_utf8_lossy
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: test_image_layout_unknown_argument
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - String::from_utf8_lossy
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_image_layout_unknown_argument()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:76,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:76,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:76,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:76,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:76,1
    - Dst: String::from_utf8_lossy
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: test_image_layout_duplicate_project_root
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - String::from_utf8_lossy
    - Command::new
    - expect
    - output
    linkageType: ''
    returnType: void
    signature: fn test_image_layout_duplicate_project_root()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tempfile::tempdir
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:96,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:96,1
    - Dst: Command::new
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:97,1
    - Dst: bin_path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:97,1
    - Dst: Result::args
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:97,1
    - Dst: path
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:100,1
    - Dst: to_str
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:100,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:100,1
    - Dst: output
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:97,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: test_image_layout_nonexistent_artifacts
    functionSourceFile: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
    functionUses: 0
    functionsReached:
    - bin_path
    - Result::args
    - path
    - Command::new
    - unwrap
    - expect
    - tempfile::tempdir
    - output
    - to_str
    linkageType: ''
    returnType: void
    signature: fn test_image_layout_nonexistent_artifacts()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:153,1
    - Dst: core::mem::size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: TdxMetadataSection::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - core::mem::size_of::<Self>
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Deserialize::deserialize
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:54,1
    - Dst: parse_int::parse::<u32>
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:55,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - deserializer
    argTypes:
    - D
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: u32_deserialize
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Deserialize::deserialize
    - map_err
    - parse_int::parse::<u32>
    linkageType: ''
    returnType: Result
    signature: 'fn u32_deserialize<''de, D>(deserializer: D) -> Result<u32, D::Error>whereD:
      de::Deserializer<''de>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Deserialize::deserialize
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:62,1
    - Dst: parse_int::parse::<u64>
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:63,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - deserializer
    argTypes:
    - D
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: u64_deserialize
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Deserialize::deserialize
    - map_err
    - parse_int::parse::<u64>
    linkageType: ''
    returnType: Result
    signature: 'fn u64_deserialize<''de, D>(deserializer: D) -> Result<u64, D::Error>whereD:
      de::Deserializer<''de>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Deserialize::deserialize
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:70,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:72,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:73,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:74,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:75,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:76,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:77,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:78,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:79,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:80,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:81,1
    - Dst: D::Error::custom
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - deserializer
    argTypes:
    - D
    constantsTouched: []
    func_position:
      end: 83
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 83
    functionName: type_deserialize
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Deserialize::deserialize
    - Ok
    - Err
    - D::Error::custom
    linkageType: ''
    returnType: Result
    signature: 'fn type_deserialize<''de, D>(deserializer: D) -> Result<u32, D::Error>whereD:
      de::Deserializer<''de>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: MetadataSections::default
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: MetadataSections::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: MetadataSections::as_slice
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - as_slice
    linkageType: ''
    returnType: '&[TdxMetadataSection]'
    signature: pub fn as_slice(&self) -> &[TdxMetadataSection]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - section
    argTypes:
    - TdxMetadataSection
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: MetadataSections::add
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: void
    signature: 'pub fn add(&mut self, section: TdxMetadataSection)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MetadataSections::new
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:114,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:141,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:152,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:162,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:172,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 1
    argNames:
    - payload_type
    argTypes:
    - PayloadType
    constantsTouched: []
    func_position:
      end: 192
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 192
    functionName: basic_metadata_sections
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - MetadataSections::add
    - MetadataSections::new
    linkageType: ''
    returnType: MetadataSections
    signature: 'fn basic_metadata_sections(payload_type: PayloadType) -> MetadataSections'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: basic_metadata_sections
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:195,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:199,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:209,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:219,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:229,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:239,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 1
    argNames:
    - payload_type
    argTypes:
    - PayloadType
    constantsTouched: []
    func_position:
      end: 253
      start: 194
    functionDepth: 6
    functionLinenumber: 194
    functionLinenumberEnd: 253
    functionName: default_metadata_sections
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - println
    - MetadataSections::add
    - basic_metadata_sections
    linkageType: ''
    returnType: MetadataSections
    signature: 'pub fn default_metadata_sections(payload_type: PayloadType) -> MetadataSections'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<TdxMetadataDescriptor>
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:266,1
    - Dst: std::mem::size_of_val
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:266,1
    - Dst: '&[TdxMetadataSection]::as_slice'
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:266,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:270,1
    - Dst: '&[TdxMetadataSection]::as_slice'
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:276,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - sections
    argTypes:
    - MetadataSections
    constantsTouched: []
    func_position:
      end: 280
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 280
    functionName: TdxMetadata::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - std::mem::size_of_val
    - '&[u8]::len'
    - Some
    - '&[TdxMetadataSection]::as_slice'
    - size_of::<TdxMetadataDescriptor>
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(sections: MetadataSections) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:283,1
    - Dst: Result::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:284,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:284,1
    - Dst: Result::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:285,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:285,1
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:287,1
    - Dst: Result::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:288,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: TdxMetadata::to_vec
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Option::as_bytes
    - Result::extend_from_slice
    - as_slice
    - Vec::new
    - as_bytes
    linkageType: ''
    returnType: Vec
    signature: pub fn to_vec(&self) -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:335,1
    - Dst: serde_json::from_slice::<MetadataSections>
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:336,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:336,1
    - Dst: MetadataSections::new
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:338,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:340,1
    - Dst: MetadataSections::add
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 5
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: test::test_deserialize_metadata
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - serde_json::from_slice::<MetadataSections>
    - MetadataSections::add
    - MetadataSections::new
    - unwrap
    - as_bytes
    linkageType: ''
    returnType: void
    signature: fn test_deserialize_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/metadata.rs:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: test::test_deserialize_invalid_metadata
    functionSourceFile: /src/td-shim/td-shim-tools/src/metadata.rs
    functionUses: 0
    functionsReached:
    - as_bytes
    linkageType: ''
    returnType: void
    signature: fn test_deserialize_invalid_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<FvFfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:50,1
    - Dst: u8::wrapping_add
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: update_checksum
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 3
    functionsReached:
    - size_of::<FvFfsFileHeader>
    - u8::wrapping_add
    linkageType: ''
    returnType: void
    signature: 'fn update_checksum(data: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:70,1
    - Dst: build_cfv_ffs_header
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:71,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:72,1
    - Dst: FvFfsFileHeader::as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:72,1
    - Dst: size_of::<FvFfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&[u8; 16]'
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: FirmwareRawFile::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - size_of::<FvFfsFileHeader>
    - Vec::new
    - extend_from_slice
    - FvFfsFileHeader::as_bytes
    - build_cfv_ffs_header
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(name: &[u8; 16]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: truncate
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:82,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:83,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:85,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:89,1
    - Dst: push
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:91,1
    - Dst: td_shim::write_u24
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:96,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:98,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:98,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: FirmwareRawFile::append
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - len
    - truncate
    - push
    - unwrap
    - extend_from_slice
    - td_shim::write_u24
    - try_into
    - update_checksum
    linkageType: ''
    returnType: void
    signature: 'pub fn append(&mut self, data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: FirmwareRawFile::as_bytes
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - as_slice
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FvHeader::default
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:112,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:114,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:117,1
    - Dst: size_of::<FvHeader>
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:119,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: build_cfv_header
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - FvHeader::default
    - copy_from_slice
    - update_checksum
    - as_bytes
    - size_of::<FvHeader>
    linkageType: ''
    returnType: FvHeader
    signature: fn build_cfv_header() -> FvHeader
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FvFfsFileHeader::default
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:133,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:134,1
    - Dst: td_shim::write_u24
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:138,1
    - Dst: size_of::<FvHeader>
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:139,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&[u8; 16]'
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: build_cfv_ffs_header
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    - update_checksum
    - td_shim::write_u24
    - FvFfsFileHeader::default
    - size_of::<FvHeader>
    linkageType: ''
    returnType: FvFfsFileHeader
    signature: 'fn build_cfv_ffs_header(name: &[u8; 16]) -> FvFfsFileHeader'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:152,1
    - Dst: OutputFile::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:159,1
    - Dst: '&str::contains'
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:161,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:162,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:163,1
    - Dst: IgvmPlatformHeader::SupportedPlatform
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:166,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:173,1
    - Dst: IgvmFile::new_from_binary
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:175,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:175,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:175,1
    - Dst: build_cfv_header
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:180,1
    - Dst: FvHeader::as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:181,1
    - Dst: '&[u8]::to_vec'
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:181,1
    - Dst: extend
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:184,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:184,1
    - Dst: '&[u8]::to_vec'
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:184,1
    - Dst: io::Result::directives
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:188,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:188,1
    - Dst: filter
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:188,1
    - Dst: into
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:203,1
    - Dst: into
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:204,1
    - Dst: std::cmp::min
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:207,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:207,1
    - Dst: is_empty
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:208,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:211,1
    - Dst: extend
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:214,1
    - Dst: std::iter::repeat_n
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:214,1
    - Dst: clone
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:221,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:223,1
    - Dst: clone
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:228,1
    - Dst: io::Result::platforms
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:233,1
    - Dst: igvm::IgvmPlatformHeader::SupportedPlatform
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:236,1
    - Dst: io::Result::initializations
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:240,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:246,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:252,1
    - Dst: IgvmFile::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:257,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:257,1
    - Dst: serialize
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:264,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:264,1
    - Dst: seek_and_write
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:265,1
    - Dst: Result::as_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:265,1
    - Dst: seek_and_write
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:268,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:268,1
    - Dst: build_cfv_header
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:269,1
    - Dst: seek_and_write
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:270,1
    - Dst: FvHeader::as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:272,1
    - Dst: write
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:277,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:277,1
    - Dst: flush
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:281,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:283,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 188
    argCount: 3
    argNames:
    - input_file
    - output_file
    - firmware_files
    argTypes:
    - '&str'
    - PathBuf
    - Vec<FirmwareRawFile>
    constantsTouched: []
    func_position:
      end: 284
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 284
    functionName: enroll_files
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - len
    - OutputFile::new
    - unwrap
    - Result::as_slice
    - Result::push
    - to_vec
    - igvm::IgvmPlatformHeader::SupportedPlatform
    - clone
    - io::Result::initializations
    - seek_and_write
    - extend
    - io::Result::directives
    - expect
    - Ok
    - '&str::contains'
    - serialize
    - FvHeader::as_bytes
    - println
    - std::iter::repeat_n
    - IgvmFile::new_from_binary
    - IgvmPlatformHeader::SupportedPlatform
    - InputData::new
    - is_empty
    - IgvmFile::new
    - std::cmp::min
    - flush
    - Result::unwrap
    - write
    - into
    - Vec::new
    - '&[u8]::to_vec'
    - as_bytes
    - filter
    - iter
    - build_cfv_header
    - io::Result::platforms
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn enroll_files(input_file: &str,output_file: PathBuf,firmware_files:
      Vec<FirmwareRawFile>,) -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:309,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:309,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:313,1
    - Dst: SubjectPublicKeyInfo::try_from
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:314,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:314,1
    - Dst: Result::map_err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:314,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:316,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:319,1
    - Dst: Result::as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:323,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:323,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:325,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:325,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:332,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:333,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:333,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:336,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:336,1
    - Dst: Result::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:338,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:338,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:341,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:341,1
    - Dst: RsaPublicKeyInfo::try_from
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:346,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:346,1
    - Dst: Result::map_err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:346,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:348,1
    - Dst: Result::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:350,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:350,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:352,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:352,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:354,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:354,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:356,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:356,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:356,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:357,1
    - Dst: u64::from_be_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:359,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:364,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:364,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:365,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:365,1
    - Dst: Result::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:368,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:372,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:372,1
    - Dst: digest::digest
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:377,1
    - Dst: Result::as_slice
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:377,1
    - Dst: String::as_ref
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:378,1
    - Dst: FirmwareRawFile::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:381,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:381,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:384,1
    - Dst: size_of::<CfvPubKeyFileHeader>
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:386,1
    - Dst: String::len
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:386,1
    - Dst: Default::default
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:388,1
    - Dst: Self::append
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:390,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:390,1
    - Dst: Self::append
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:392,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 171
    argCount: 2
    argNames:
    - key_file
    - hash_alg
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 395
      start: 304
    functionDepth: 4
    functionLinenumber: 304
    functionLinenumberEnd: 395
    functionName: create_key_file
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - len
    - FirmwareRawFile::new
    - Result::as_slice
    - Default::default
    - Result::map_err
    - String::len
    - Ok
    - SubjectPublicKeyInfo::try_from
    - io::Error::other
    - Result::extend_from_slice
    - InputData::new
    - Self::append
    - u64::from_be_bytes
    - digest::digest
    - size_of::<CfvPubKeyFileHeader>
    - Err
    - Result::as_bytes
    - copy_from_slice
    - Vec::new
    - String::as_ref
    - as_bytes
    - RsaPublicKeyInfo::try_from
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn create_key_file(key_file: &str, hash_alg: &str) -> io::Result<FirmwareRawFile>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 410
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 410
    functionName: test::read_u24
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn read_u24(data: &[u8]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: guid::Guid::from_str
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:415,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:415,1
    - Dst: size_of::<FvFfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:416,1
    - Dst: FirmwareRawFile::new
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:418,1
    - Dst: String::as_bytes
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:418,1
    - Dst: Self::append
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:421,1
    - Dst: '&str::as_bytes'
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:421,1
    - Dst: Self::append
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:425,1
    - Dst: '&str::as_bytes'
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:425,1
    - Dst: Self::append
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:429,1
    - Dst: '&str::as_bytes'
      Src: /src/td-shim/td-shim-tools/src/enroller.rs:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: test::test_firmware_file
    functionSourceFile: /src/td-shim/td-shim-tools/src/enroller.rs
    functionUses: 0
    functionsReached:
    - FirmwareRawFile::new
    - String::as_bytes
    - '&str::as_bytes'
    - Result::unwrap
    - size_of::<FvFfsFileHeader>
    - Self::append
    - guid::Guid::from_str
    linkageType: ''
    returnType: void
    signature: fn test_firmware_file()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::metadata
      Src: /src/td-shim/td-shim-tools/src/image.rs:33,1
    - Dst: Option::with_context
      Src: /src/td-shim/td-shim-tools/src/image.rs:33,1
    - Dst: Result::len
      Src: /src/td-shim/td-shim-tools/src/image.rs:35,1
    - Dst: File::open
      Src: /src/td-shim/td-shim-tools/src/image.rs:44,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/image.rs:44,1
    - Dst: BufReader::new
      Src: /src/td-shim/td-shim-tools/src/image.rs:45,1
    - Dst: Vec::with_capacity
      Src: /src/td-shim/td-shim-tools/src/image.rs:46,1
    - Dst: Result::read_to_end
      Src: /src/td-shim/td-shim-tools/src/image.rs:47,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/image.rs:47,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/image.rs:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 4
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: Image::open
    functionSourceFile: /src/td-shim/td-shim-tools/src/image.rs
    functionUses: 0
    functionsReached:
    - Result::read_to_end
    - Result::with_context
    - Option::with_context
    - Result::len
    - Ok
    - with_context
    - BufReader::new
    - Vec::with_capacity
    - File::open
    - std::fs::metadata
    linkageType: ''
    returnType: Result
    signature: 'pub fn open(path: &Path) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::create
      Src: /src/td-shim/td-shim-tools/src/image.rs:57,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/image.rs:57,1
    - Dst: BufWriter::new
      Src: /src/td-shim/td-shim-tools/src/image.rs:58,1
    - Dst: Result::write_all
      Src: /src/td-shim/td-shim-tools/src/image.rs:59,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/image.rs:59,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/image.rs:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 4
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: Image::write
    functionSourceFile: /src/td-shim/td-shim-tools/src/image.rs
    functionUses: 0
    functionsReached:
    - File::create
    - Result::with_context
    - Result::write_all
    - Ok
    - with_context
    - BufWriter::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn write(&self, path: &Path) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/image.rs:81,1
    - Dst: pread_with
      Src: /src/td-shim/td-shim-tools/src/image.rs:89,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/image.rs:89,1
    - Dst: String::copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/image.rs:109,1
    - Dst: Guid::from_bytes
      Src: /src/td-shim/td-shim-tools/src/image.rs:112,1
    - Dst: pread_with
      Src: /src/td-shim/td-shim-tools/src/image.rs:121,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/image.rs:121,1
    - Dst: Vec::with_capacity
      Src: /src/td-shim/td-shim-tools/src/image.rs:141,1
    - Dst: pread_with
      Src: /src/td-shim/td-shim-tools/src/image.rs:144,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/image.rs:144,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/image.rs:148,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/image.rs:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 1
    argNames:
    - image
    argTypes:
    - '&Image'
    constantsTouched: []
    func_position:
      end: 157
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 157
    functionName: ParsedMetadata::from_image
    functionSourceFile: /src/td-shim/td-shim-tools/src/image.rs
    functionUses: 0
    functionsReached:
    - map_err
    - len
    - String::copy_from_slice
    - '&[TdxMetadataSection]::push'
    - pread_with
    - Ok
    - Guid::from_bytes
    - Vec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_image(image: &Image) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/image.rs:161,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/image.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - section_type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: ParsedMetadata::find_section
    functionSourceFile: /src/td-shim/td-shim-tools/src/image.rs
    functionUses: 0
    functionsReached:
    - find
    - iter
    linkageType: ''
    returnType: Option
    signature: 'pub fn find_section(&self, section_type: u32) -> Option<&TdxMetadataSection>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/signer.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - raw_image
    - algorithm
    argTypes:
    - '&''a [u8]'
    - SigningAlgorithm
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: PayloadSigner::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/signer.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(raw_image: &''a [u8], algorithm: SigningAlgorithm) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/td-shim-tools/src/signer.rs:51,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-tools/src/signer.rs:53,1
    - Dst: '&[u8]::to_vec'
      Src: /src/td-shim/td-shim-tools/src/signer.rs:53,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:54,1
    - Dst: public
      Src: /src/td-shim/td-shim-tools/src/signer.rs:58,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim-tools/src/signer.rs:58,1
    - Dst: RsaPublicKeyInfo::from_der
      Src: /src/td-shim/td-shim-tools/src/signer.rs:59,1
    - Dst: Result::map_err
      Src: /src/td-shim/td-shim-tools/src/signer.rs:59,1
    - Dst: io::Error::new
      Src: /src/td-shim/td-shim-tools/src/signer.rs:60,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/signer.rs:62,1
    - Dst: public
      Src: /src/td-shim/td-shim-tools/src/signer.rs:63,1
    - Dst: modulus_len
      Src: /src/td-shim/td-shim-tools/src/signer.rs:63,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/signer.rs:68,1
    - Dst: io::Error::new
      Src: /src/td-shim/td-shim-tools/src/signer.rs:68,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/signer.rs:74,1
    - Dst: Result::len
      Src: /src/td-shim/td-shim-tools/src/signer.rs:75,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/signer.rs:81,1
    - Dst: io::Error::new
      Src: /src/td-shim/td-shim-tools/src/signer.rs:81,1
    - Dst: Result::len
      Src: /src/td-shim/td-shim-tools/src/signer.rs:88,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:88,1
    - Dst: sign
      Src: /src/td-shim/td-shim-tools/src/signer.rs:92,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/signer.rs:92,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/signer.rs:96,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:99,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:100,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:101,1
    - Dst: Result::as_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:101,1
    - Dst: public_key
      Src: /src/td-shim/td-shim-tools/src/signer.rs:104,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim-tools/src/signer.rs:104,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/signer.rs:109,1
    - Dst: io::Error::new
      Src: /src/td-shim/td-shim-tools/src/signer.rs:109,1
    - Dst: sign
      Src: /src/td-shim/td-shim-tools/src/signer.rs:115,1
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:116,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/signer.rs:115,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/signer.rs:119,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:122,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:123,1
    - Dst: Result::as_ref
      Src: /src/td-shim/td-shim-tools/src/signer.rs:123,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/signer.rs:127,1
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/signer.rs:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 135
    argCount: 1
    argNames:
    - header
    argTypes:
    - PayloadSignHeader
    constantsTouched: []
    func_position:
      end: 128
      start: 50
    functionDepth: 5
    functionLinenumber: 50
    functionLinenumberEnd: 128
    functionName: PayloadSigner::sign
    functionSourceFile: /src/td-shim/td-shim-tools/src/signer.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - as_slice
    - Result::as_slice
    - io::Error::new
    - sign
    - Result::map_err
    - Ok
    - io::Error::other
    - public_key
    - Result::as_ref
    - Option::as_bytes
    - rand::SystemRandom::new
    - extend_from_slice
    - RsaPublicKeyInfo::from_der
    - Err
    - map_err
    - copy_from_slice
    - Result::len
    - '&[u8]::to_vec'
    - as_bytes
    - public
    - modulus_len
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn sign(&mut self, header: PayloadSignHeader) -> io::Result<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/signer.rs:136,1
    - Dst: size_of::<PayloadSignHeader>
      Src: /src/td-shim/td-shim-tools/src/signer.rs:136,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/signer.rs:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - payload_version
    - payload_svn
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: PayloadSigner::build_header
    functionSourceFile: /src/td-shim/td-shim-tools/src/signer.rs
    functionUses: 0
    functionsReached:
    - len
    - size_of::<PayloadSignHeader>
    - as_bytes
    linkageType: ''
    returnType: PayloadSignHeader
    signature: 'pub fn build_header(&self, payload_version: u64, payload_svn: u64)
      -> PayloadSignHeader'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::metadata
      Src: /src/td-shim/td-shim-tools/src/lib.rs:45,1
    - Dst: Option::map_err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:45,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/lib.rs:49,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:57,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/lib.rs:57,1
    - Dst: fs::read
      Src: /src/td-shim/td-shim-tools/src/lib.rs:60,1
    - Dst: T::map_err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:60,1
    - Dst: String::contains
      Src: /src/td-shim/td-shim-tools/src/lib.rs:66,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/lib.rs:67,1
    - Dst: Result::contains
      Src: /src/td-shim/td-shim-tools/src/lib.rs:68,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:76,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/lib.rs:76,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/lib.rs:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 3
    argNames:
    - name
    - range
    - desc
    argTypes:
    - '&str'
    - RangeInclusive<usize>
    - '&str'
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: InputData::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 2
    functionsReached:
    - len
    - Option::map_err
    - T::map_err
    - Result::contains
    - Ok
    - fs::read
    - fs::metadata
    - Err
    - String::contains
    - io::Error::other
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn new(name: &str, range: RangeInclusive<usize>, desc: &str) ->
      io::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/td-shim/td-shim-tools/src/lib.rs:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: InputData::clear
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 0
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: pub fn clear(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: InputData::as_bytes
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::create
      Src: /src/td-shim/td-shim-tools/src/lib.rs:102,1
    - Dst: String::as_ref
      Src: /src/td-shim/td-shim-tools/src/lib.rs:102,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:102,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/lib.rs:111,1
    - Dst: String::as_ref
      Src: /src/td-shim/td-shim-tools/src/lib.rs:113,1
    - Dst: '&[u8]::to_path_buf'
      Src: /src/td-shim/td-shim-tools/src/lib.rs:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - P
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: OutputFile::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 1
    functionsReached:
    - map_err
    - File::create
    - '&[u8]::to_path_buf'
    - String::as_ref
    - Ok
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn new<P: AsRef<Path>>(name: P) -> io::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seek
      Src: /src/td-shim/td-shim-tools/src/lib.rs:118,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/lib.rs:119,1
    - Dst: and
      Src: /src/td-shim/td-shim-tools/src/lib.rs:118,1
    - Dst: write_all
      Src: /src/td-shim/td-shim-tools/src/lib.rs:120,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - 'off'
    - data
    - desc
    argTypes:
    - u64
    - '&[u8]'
    - '&str'
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: OutputFile::seek_and_write
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 0
    functionsReached:
    - map_err
    - and
    - seek
    - write_all
    - SeekFrom::Start
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn seek_and_write(&mut self, off: u64, data: &[u8], desc: &str)
      -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_all
      Src: /src/td-shim/td-shim-tools/src/lib.rs:133,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - desc
    argTypes:
    - '&[u8]'
    - '&str'
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: OutputFile::write
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 0
    functionsReached:
    - map_err
    - write_all
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn write(&mut self, data: &[u8], desc: &str) -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/td-shim/td-shim-tools/src/lib.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: OutputFile::flush
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 0
    functionsReached:
    - flush
    linkageType: ''
    returnType: io::Result
    signature: pub fn flush(&mut self) -> io::Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/lib.rs:150,1
    - Dst: metadata
      Src: /src/td-shim/td-shim-tools/src/lib.rs:150,1
    - Dst: inspect_err
      Src: /src/td-shim/td-shim-tools/src/lib.rs:150,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/lib.rs:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: OutputFile::current_pos
    functionSourceFile: /src/td-shim/td-shim-tools/src/lib.rs
    functionUses: 0
    functionsReached:
    - metadata
    - Ok
    - len
    - inspect_err
    linkageType: ''
    returnType: io::Result
    signature: pub fn current_pos(&self) -> io::Result<u64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Decoder<''a>::sequence'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:52,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:53,1
    - Dst: '&mut Decoder<''a>::decode'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:54,1
    - Dst: '&mut Decoder<''a>::decode'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - '&mut Decoder<''a>'
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: AlgorithmIdentifier::decode
    functionSourceFile: /src/td-shim/td-shim-tools/src/public_key.rs
    functionUses: 0
    functionsReached:
    - '&mut Decoder<''a>::decode'
    - Ok
    - '&mut Decoder<''a>::sequence'
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode(decoder: &mut Decoder<''a>) -> der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Decoder<''a>::sequence'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:63,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:64,1
    - Dst: '&mut Decoder<''a>::decode'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:65,1
    - Dst: '&mut Decoder<''a>::decode'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - '&mut Decoder<''a>'
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: SubjectPublicKeyInfo::decode
    functionSourceFile: /src/td-shim/td-shim-tools/src/public_key.rs
    functionUses: 0
    functionsReached:
    - '&mut Decoder<''a>::decode'
    - Ok
    - '&mut Decoder<''a>::sequence'
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode(decoder: &mut Decoder<''a>) -> der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_der
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: SubjectPublicKeyInfo::try_from
    functionSourceFile: /src/td-shim/td-shim-tools/src/public_key.rs
    functionUses: 1
    functionsReached:
    - Self::from_der
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(bytes: &''a [u8]) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut Decoder<''a>::sequence'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:94,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:95,1
    - Dst: '&mut Decoder<''a>::decode'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:96,1
    - Dst: '&mut Decoder<''a>::decode'
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - '&mut Decoder<''a>'
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: RsaPublicKeyInfo::decode
    functionSourceFile: /src/td-shim/td-shim-tools/src/public_key.rs
    functionUses: 0
    functionsReached:
    - '&mut Decoder<''a>::decode'
    - Ok
    - '&mut Decoder<''a>::sequence'
    linkageType: ''
    returnType: der::Result
    signature: 'fn decode(decoder: &mut Decoder<''a>) -> der::Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_der
      Src: /src/td-shim/td-shim-tools/src/public_key.rs:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: RsaPublicKeyInfo::try_from
    functionSourceFile: /src/td-shim/td-shim-tools/src/public_key.rs
    functionUses: 1
    functionsReached:
    - Self::from_der
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(bytes: &''a [u8]) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<FvHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:82,1
    - Dst: size_of::<FvFfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:83,1
    - Dst: size_of::<FvFfsSectionHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: FvHeaderByte::default
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - size_of::<FvFfsFileHeader>
    - size_of::<FvHeader>
    - size_of::<FvFfsSectionHeader>
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:91,1
    - Dst: size_of::<FvHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:92,1
    - Dst: FvHeader::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:94,1
    - Dst: size_of::<FvHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:97,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/linker.rs:99,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:103,1
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim-tools/src/linker.rs:104,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:104,1
    - Dst: pwrite
      Src: /src/td-shim/td-shim-tools/src/linker.rs:116,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:116,1
    - Dst: FvFfsFileHeader::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:119,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:120,1
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim-tools/src/linker.rs:121,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:121,1
    - Dst: td_shim::write_u24
      Src: /src/td-shim/td-shim-tools/src/linker.rs:133,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/linker.rs:137,1
    - Dst: pwrite
      Src: /src/td-shim/td-shim-tools/src/linker.rs:139,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:139,1
    - Dst: FvFfsSectionHeader::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:145,1
    - Dst: td_shim::write_u24
      Src: /src/td-shim/td-shim-tools/src/linker.rs:146,1
    - Dst: size_of::<FvFfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:147,1
    - Dst: pwrite
      Src: /src/td-shim/td-shim-tools/src/linker.rs:152,1
    - Dst: size_of::<FvFfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:156,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 116
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 162
    functionName: FvHeaderByte::build_tdx_payload_fv_header
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - FvHeader::default
    - copy_from_slice
    - FvFfsSectionHeader::default
    - Self::default
    - pwrite
    - Guid::as_bytes
    - size_of::<FvFfsFileHeader>
    - update_checksum
    - Guid::from_fields
    - unwrap
    - td_shim::write_u24
    - FvFfsFileHeader::default
    - size_of::<FvHeader>
    linkageType: ''
    returnType: Self
    signature: pub fn build_tdx_payload_fv_header() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:166,1
    - Dst: size_of::<FvHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:167,1
    - Dst: IplFvHeader::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:169,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/linker.rs:172,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:176,1
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim-tools/src/linker.rs:177,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:177,1
    - Dst: pwrite
      Src: /src/td-shim/td-shim-tools/src/linker.rs:189,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:189,1
    - Dst: IplFvFfsHeader::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:192,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:193,1
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim-tools/src/linker.rs:194,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:194,1
    - Dst: td_shim::write_u24
      Src: /src/td-shim/td-shim-tools/src/linker.rs:207,1
    - Dst: update_checksum
      Src: /src/td-shim/td-shim-tools/src/linker.rs:211,1
    - Dst: pwrite
      Src: /src/td-shim/td-shim-tools/src/linker.rs:213,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:213,1
    - Dst: IplFvFfsSectionHeader::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:219,1
    - Dst: td_shim::write_u24
      Src: /src/td-shim/td-shim-tools/src/linker.rs:220,1
    - Dst: size_of::<FfsFileHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:221,1
    - Dst: pwrite
      Src: /src/td-shim/td-shim-tools/src/linker.rs:226,1
    - Dst: size_of::<IplFvFfsHeader>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:230,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 106
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 236
    functionName: FvHeaderByte::build_tdx_ipl_fv_header
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - size_of::<IplFvFfsHeader>
    - size_of::<FfsFileHeader>
    - copy_from_slice
    - Self::default
    - pwrite
    - Guid::as_bytes
    - unwrap
    - size_of::<FvHeader>
    - Guid::from_fields
    - td_shim::write_u24
    - IplFvFfsSectionHeader::default
    - IplFvHeader::default
    - IplFvFfsHeader::default
    - update_checksum
    linkageType: ''
    returnType: Self
    signature: pub fn build_tdx_ipl_fv_header() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::read
      Src: /src/td-shim/td-shim-tools/src/linker.rs:247,1
    - Dst: serde_json::from_slice::<MetadataSections>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:248,1
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:248,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/linker.rs:248,1
    - Dst: metadata::default_metadata_sections
      Src: /src/td-shim/td-shim-tools/src/linker.rs:251,1
    - Dst: TdxMetadata::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:254,1
    - Dst: Option::ok_or
      Src: /src/td-shim/td-shim-tools/src/linker.rs:254,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/linker.rs:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - path
    - payload_type
    argTypes:
    - Option<&str>
    - PayloadType
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 7
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: build_tdx_metadata
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - map_err
    - serde_json::from_slice::<MetadataSections>
    - Option::ok_or
    - as_slice
    - TdxMetadata::new
    - fs::read
    - metadata::default_metadata_sections
    - io::Error::other
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn build_tdx_metadata(path: Option<&str>,payload_type: PayloadType,)
      -> io::Result<TdxMetadata>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:258,1
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:261,1
    - Dst: size_of::<u32>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:262,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:262,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:262,1
    - Dst: Option::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:268,1
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:268,1
    - Dst: Option::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:269,1
    - Dst: u16::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:269,1
    - Dst: Option::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:270,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:270,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:272,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:272,1
    - Dst: Option::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:276,1
    - Dst: u16::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:276,1
    - Dst: Option::extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:277,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 280
      start: 257
    functionDepth: 4
    functionLinenumber: 257
    functionLinenumberEnd: 280
    functionName: build_ovmf_guid_table
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - size_of::<u32>
    - size_of::<u16>
    - size_of::<TdxMetadataGuid>
    - Vec::new
    - size_of::<Guid>
    - u16::to_le_bytes
    - as_bytes
    - Option::extend_from_slice
    - u32::to_le_bytes
    linkageType: ''
    returnType: Vec
    signature: pub fn build_ovmf_guid_table() -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/linker.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: build_tdx_metadata_ptr
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - size_of::<TdxMetadataGuid>
    linkageType: ''
    returnType: TdxMetadataPtr
    signature: pub fn build_tdx_metadata_ptr() -> TdxMetadataPtr
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: ImageFormat::default
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/linker.rs:313,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/linker.rs:314,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/linker.rs:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: ImageFormat::from_str
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn from_str(s: &str) -> Result<Self, Self::Err>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: PayloadType::default
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/linker.rs:337,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/linker.rs:338,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/linker.rs:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: PayloadType::from_str
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn from_str(s: &str) -> Result<Self, Self::Err>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::cmp::min
      Src: /src/td-shim/td-shim-tools/src/linker.rs:354,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:354,1
    - Dst: is_empty
      Src: /src/td-shim/td-shim-tools/src/linker.rs:355,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:358,1
    - Dst: IgvmPageDataFlags::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:362,1
    - Dst: set_unmeasured
      Src: /src/td-shim/td-shim-tools/src/linker.rs:364,1
    - Dst: '&mut Vec<IgvmDirectiveHeader>::push'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 5
    argNames:
    - directive_headers
    - base
    - size
    - data
    - unmeasured
    argTypes:
    - '&mut Vec<IgvmDirectiveHeader>'
    - u64
    - u64
    - '&Vec<u8>'
    - bool
    constantsTouched: []
    func_position:
      end: 374
      start: 344
    functionDepth: 5
    functionLinenumber: 344
    functionLinenumberEnd: 374
    functionName: insert_igvm_pages
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - '&mut Vec<IgvmDirectiveHeader>::push'
    - len
    - is_empty
    - IgvmPageDataFlags::new
    - set_unmeasured
    - to_vec
    - std::cmp::min
    linkageType: ''
    returnType: void
    signature: 'fn insert_igvm_pages(directive_headers: &mut Vec<IgvmDirectiveHeader>,base:
      u64,size: u64,data: &Vec<u8>,unmeasured: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - relocation
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: TdShimLinker::set_payload_relocation
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self'
    signature: 'pub fn set_payload_relocation(&mut self, relocation: bool) -> &mut
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/linker.rs:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - String
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: TdShimLinker::set_output_file
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: '&mut Self'
    signature: 'pub fn set_output_file(&mut self, name: String) -> &mut Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/linker.rs:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - image_format
    argTypes:
    - ImageFormat
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    functionName: TdShimLinker::set_image_format
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: '&mut Self'
    signature: 'pub fn set_image_format(&mut self, image_format: ImageFormat) -> &mut
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - payload_type
    argTypes:
    - PayloadType
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: TdShimLinker::set_payload_type
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self'
    signature: 'pub fn set_payload_type(&mut self, payload_type: PayloadType) -> &mut
      Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:418,1
    - Dst: TdShimLinker::build_tdvf
      Src: /src/td-shim/td-shim-tools/src/linker.rs:419,1
    - Dst: TdShimLinker::build_igvm
      Src: /src/td-shim/td-shim-tools/src/linker.rs:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - reset_name
    - ipl_name
    - payload_name
    - metadata_name
    argTypes:
    - '&str'
    - '&str'
    - Option<&str>
    - Option<&str>
    constantsTouched: []
    func_position:
      end: 422
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 422
    functionName: TdShimLinker::build
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 0
    functionsReached:
    - TdShimLinker::build_tdvf
    - TdShimLinker::build_igvm
    - unwrap_or_default
    linkageType: ''
    returnType: io::Result
    signature: 'pub fn build(&self,reset_name: &str,ipl_name: &str,payload_name: Option<&str>,metadata_name:
      Option<&str>,) -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:431,1
    - Dst: build_tdx_metadata
      Src: /src/td-shim/td-shim-tools/src/linker.rs:434,1
    - Dst: as_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:437,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/linker.rs:437,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/linker.rs:437,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/linker.rs:437,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/linker.rs:437,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:445,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:453,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:461,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:469,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:479,1
    - Dst: PayloadFvHeaderByte::build_tdx_payload_fv_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:480,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:481,1
    - Dst: pe::relocate
      Src: /src/td-shim/td-shim-tools/src/linker.rs:484,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:487,1
    - Dst: Option::ok_or_else
      Src: /src/td-shim/td-shim-tools/src/linker.rs:484,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/linker.rs:489,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:491,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:493,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:495,1
    - Dst: Result::to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:504,1
    - Dst: IplFvHeaderByte::build_tdx_ipl_fv_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:506,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:507,1
    - Dst: elf::relocate_elf_with_per_program_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:511,1
    - Dst: Option::ok_or_else
      Src: /src/td-shim/td-shim-tools/src/linker.rs:511,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/linker.rs:516,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:522,1
    - Dst: extend
      Src: /src/td-shim/td-shim-tools/src/linker.rs:523,1
    - Dst: ResetVectorHeader::build_tdx_reset_vector_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:525,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:526,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:531,1
    - Dst: '&[u8]::to_vec'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:531,1
    - Dst: Vec::extend
      Src: /src/td-shim/td-shim-tools/src/linker.rs:532,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:537,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:538,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:541,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:541,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:542,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:542,1
    - Dst: Vec::splice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:543,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:543,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:543,1
    - Dst: build_ovmf_guid_table
      Src: /src/td-shim/td-shim-tools/src/linker.rs:545,1
    - Dst: Vec::len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:553,1
    - Dst: Vec::splice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:554,1
    - Dst: Vec::to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:554,1
    - Dst: build_tdx_metadata_ptr
      Src: /src/td-shim/td-shim-tools/src/linker.rs:555,1
    - Dst: TdxMetadataPtr::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:557,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:557,1
    - Dst: Vec::splice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:558,1
    - Dst: TdxMetadataPtr::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:558,1
    - Dst: '&[u8]::to_vec'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:558,1
    - Dst: Vec::len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:565,1
    - Dst: splice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:566,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:569,1
    - Dst: splice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:570,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:573,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:573,1
    - Dst: Vec::len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:574,1
    - Dst: splice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:575,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:577,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:588,1
    - Dst: insert_igvm_pages
      Src: /src/td-shim/td-shim-tools/src/linker.rs:589,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:593,1
    - Dst: IgvmPlatformHeader::SupportedPlatform
      Src: /src/td-shim/td-shim-tools/src/linker.rs:598,1
    - Dst: IgvmFile::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:611,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:611,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:619,1
    - Dst: io::Result::serialize
      Src: /src/td-shim/td-shim-tools/src/linker.rs:620,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:620,1
    - Dst: as_deref
      Src: /src/td-shim/td-shim-tools/src/linker.rs:622,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/linker.rs:622,1
    - Dst: File::create
      Src: /src/td-shim/td-shim-tools/src/linker.rs:623,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:623,1
    - Dst: Self::write_all
      Src: /src/td-shim/td-shim-tools/src/linker.rs:624,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-tools/src/linker.rs:624,1
    - Dst: io::Result::Ok
      Src: /src/td-shim/td-shim-tools/src/linker.rs:626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 276
    argCount: 4
    argNames:
    - reset_name
    - ipl_name
    - payload_name
    - metadata_name
    argTypes:
    - '&str'
    - '&str'
    - Option<&str>
    - Option<&str>
    constantsTouched: []
    func_position:
      end: 627
      start: 424
    functionDepth: 5
    functionLinenumber: 424
    functionLinenumberEnd: 627
    functionName: TdShimLinker::build_igvm
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 1
    functionsReached:
    - len
    - Self::write_all
    - as_slice
    - pe::relocate
    - IplFvHeaderByte::build_tdx_ipl_fv_header
    - build_tdx_metadata_ptr
    - unwrap
    - PayloadFvHeaderByte::build_tdx_payload_fv_header
    - to_vec
    - ResetVectorHeader::build_tdx_reset_vector_header
    - io::Result::Ok
    - find
    - insert_igvm_pages
    - TdxMetadataPtr::as_bytes
    - map
    - io::Result::serialize
    - extend
    - Vec::len
    - Option::ok_or_else
    - Result::to_vec
    - io::Error::other
    - Vec::to_vec
    - IgvmPlatformHeader::SupportedPlatform
    - InputData::new
    - Vec::extend
    - extend_from_slice
    - build_tdx_metadata
    - build_ovmf_guid_table
    - unwrap_or
    - IgvmFile::new
    - File::create
    - Vec::splice
    - Result::unwrap
    - as_deref
    - Self::as_bytes
    - Vec::new
    - '&[u8]::to_vec'
    - '&[u8]::len'
    - as_bytes
    - splice
    - iter
    - elf::relocate_elf_with_per_program_header
    linkageType: ''
    returnType: io::Result
    signature: 'fn build_igvm(&self,reset_name: &str,ipl_name: &str,payload_name:
      Option<&str>,metadata_name: Option<&str>,) -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:641,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:646,1
    - Dst: as_deref
      Src: /src/td-shim/td-shim-tools/src/linker.rs:647,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/linker.rs:647,1
    - Dst: OutputFile::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:648,1
    - Dst: TdxMpWakeupMailbox::default
      Src: /src/td-shim/td-shim-tools/src/linker.rs:650,1
    - Dst: '&mut Self::seek_and_write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:651,1
    - Dst: Result::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:653,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/linker.rs:659,1
    - Dst: PayloadFvHeaderByte::build_tdx_payload_fv_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:660,1
    - Dst: '&mut Self::seek_and_write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:661,1
    - Dst: pe::relocate
      Src: /src/td-shim/td-shim-tools/src/linker.rs:669,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:672,1
    - Dst: Option::ok_or_else
      Src: /src/td-shim/td-shim-tools/src/linker.rs:669,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/linker.rs:674,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:676,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:678,1
    - Dst: build_tdx_metadata
      Src: /src/td-shim/td-shim-tools/src/linker.rs:682,1
    - Dst: '&mut Self::seek_and_write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:684,1
    - Dst: Result::to_vec
      Src: /src/td-shim/td-shim-tools/src/linker.rs:684,1
    - Dst: IplFvHeaderByte::build_tdx_ipl_fv_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:686,1
    - Dst: '&mut Self::seek_and_write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:687,1
    - Dst: elf::relocate_elf_with_per_program_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:691,1
    - Dst: Option::ok_or_else
      Src: /src/td-shim/td-shim-tools/src/linker.rs:691,1
    - Dst: io::Error::other
      Src: /src/td-shim/td-shim-tools/src/linker.rs:696,1
    - Dst: '&mut Self::current_pos'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:703,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/linker.rs:707,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:710,1
    - Dst: ResetVectorHeader::build_tdx_reset_vector_header
      Src: /src/td-shim/td-shim-tools/src/linker.rs:712,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:713,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:713,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:714,1
    - Dst: '&mut Self::current_pos'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:716,1
    - Dst: '&mut Self::seek_and_write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:721,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:721,1
    - Dst: build_ovmf_guid_table
      Src: /src/td-shim/td-shim-tools/src/linker.rs:724,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:731,1
    - Dst: Vec::as_slice
      Src: /src/td-shim/td-shim-tools/src/linker.rs:731,1
    - Dst: build_tdx_metadata_ptr
      Src: /src/td-shim/td-shim-tools/src/linker.rs:733,1
    - Dst: '&mut Self::write'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:734,1
    - Dst: TdxMetadataPtr::as_bytes
      Src: /src/td-shim/td-shim-tools/src/linker.rs:734,1
    - Dst: '&mut Self::flush'
      Src: /src/td-shim/td-shim-tools/src/linker.rs:736,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/linker.rs:738,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 159
    argCount: 4
    argNames:
    - reset_name
    - ipl_name
    - payload_name
    - metadata_name
    argTypes:
    - '&str'
    - '&str'
    - Option<&str>
    - Option<&str>
    constantsTouched: []
    func_position:
      end: 739
      start: 629
    functionDepth: 6
    functionLinenumber: 629
    functionLinenumberEnd: 739
    functionName: TdShimLinker::build_tdvf
    functionSourceFile: /src/td-shim/td-shim-tools/src/linker.rs
    functionUses: 1
    functionsReached:
    - len
    - '&mut Self::flush'
    - OutputFile::new
    - pe::relocate
    - IplFvHeaderByte::build_tdx_ipl_fv_header
    - build_tdx_metadata_ptr
    - PayloadFvHeaderByte::build_tdx_payload_fv_header
    - ResetVectorHeader::build_tdx_reset_vector_header
    - '&mut Self::current_pos'
    - '&mut Self::write'
    - TdxMetadataPtr::as_bytes
    - Option::ok_or_else
    - Result::to_vec
    - Ok
    - io::Error::other
    - InputData::new
    - TdxMpWakeupMailbox::default
    - Vec::as_slice
    - build_tdx_metadata
    - build_ovmf_guid_table
    - Result::as_bytes
    - as_deref
    - Self::as_bytes
    - as_bytes
    - '&mut Self::seek_and_write'
    - unwrap_or
    - elf::relocate_elf_with_per_program_header
    linkageType: ''
    returnType: io::Result
    signature: 'fn build_tdvf(&self,reset_name: &str,ipl_name: &str,payload_name:
      Option<&str>,metadata_name: Option<&str>,) -> io::Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:14,1
    - Dst: Self::seek
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:15,1
    - Dst: Self::read_exact
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:16,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:18,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - file
    - pos
    - buffer
    argTypes:
    - '&mut std::fs::File'
    - u64
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: read_from_file
    functionSourceFile: /src/td-shim/td-shim-tools/src/read_file.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Self::seek
    - std::io::SeekFrom::Start
    - Self::read_exact
    linkageType: ''
    returnType: Result
    signature: 'fn read_from_file(file: &mut std::fs::File, pos: u64, buffer: &mut
      [u8]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::File::open
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:22,1
    - Dst: is_err
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:23,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:27,1
    - Dst: fs::metadata
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:29,1
    - Dst: Option::is_err
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:30,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:34,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:35,1
    - Dst: read_from_file
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:40,1
    - Dst: Result::is_err
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:40,1
    - Dst: read_from_file
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:52,1
    - Dst: Result::is_err
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:52,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/read_file.rs:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 1
    argNames:
    - filename
    argTypes:
    - '&String'
    constantsTouched: []
    func_position:
      end: 56
      start: 21
    functionDepth: 5
    functionLinenumber: 21
    functionLinenumberEnd: 56
    functionName: read_from_binary_file
    functionSourceFile: /src/td-shim/td-shim-tools/src/read_file.rs
    functionUses: 0
    functionsReached:
    - fs::File::open
    - Result::is_err
    - Option::unwrap
    - Option::is_err
    - unwrap
    - Ok
    - read_from_file
    - Option::len
    - fs::metadata
    - is_err
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_from_binary_file(filename: &String) -> Result<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:120,1
    - Dst: Default::default
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: TdInfoStruct::default
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: TdInfoStruct::fmt
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8; size_of::<TdInfoStruct>()]::zeroize'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:168,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:170,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:170,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:171,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:172,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:172,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:173,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:174,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:176,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:178,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:180,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:182,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:184,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:186,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:188,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 107
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8; size_of::<TdInfoStruct>()]'
    constantsTouched: []
    func_position:
      end: 194
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: TdInfoStruct::pack
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8; size_of::<TdInfoStruct>()]::zeroize'
    - size_of::<u64>
    - copy_from_slice
    linkageType: ''
    returnType: usize
    signature: 'pub fn pack(self, buffer: &mut [u8; size_of::<TdInfoStruct>()]) ->
      usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:199,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:200,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:199,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:205,1
    - Dst: '&mut File::read_exact'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:206,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:206,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:208,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:209,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:210,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:211,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:209,1
    - Dst: read_u16::<LittleEndian>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:215,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:215,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:216,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:217,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:219,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:223,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:224,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:225,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:223,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:228,1
    - Dst: '&mut File::read_exact'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:229,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:229,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:231,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:232,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:233,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:233,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:231,1
    - Dst: read_u16::<LittleEndian>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:236,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:236,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:237,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:238,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:239,1
    - Dst: size_of::<Guid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:241,1
    - Dst: size_of::<u16>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:242,1
    - Dst: size_of::<u32>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:243,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:238,1
    - Dst: read_u32::<LittleEndian>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:247,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:247,1
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:248,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:255,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:256,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:255,1
    - Dst: read_u32::<LittleEndian>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:259,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:259,1
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:260,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:263,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:264,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:263,1
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:267,1
    - Dst: size_of::<TdxMetadataDescriptor>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:267,1
    - Dst: '&mut File::read_exact'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:268,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:268,1
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:269,1
    - Dst: pread
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:277,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:277,1
    - Dst: is_valid
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:278,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:279,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:283,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:284,1
    - Dst: size_of::<TdxMetadataGuid>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:285,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:283,1
    - Dst: '&mut File::read_exact'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:289,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:289,1
    - Dst: size_of::<TdxMetadataDescriptor>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:292,1
    - Dst: Sha384::new
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:294,1
    - Dst: pread
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:303,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:303,1
    - Dst: size_of::<TdxMetadataSection>
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:304,1
    - Dst: '&mut File::seek'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:327,1
    - Dst: SeekFrom::Start
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:328,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:327,1
    - Dst: '&mut File::read_exact'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:333,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:333,1
    - Dst: resize_with
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:337,1
    - Dst: chunks_exact
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:341,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:345,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:347,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:347,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:349,1
    - Dst: chunks_exact
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:356,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:358,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:360,1
    - Dst: page_addr::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:360,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:362,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:365,1
    - Dst: Result::finalize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:372,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:373,1
    - Dst: String::as_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:373,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 313
    argCount: 2
    argNames:
    - raw_image_file
    - image_size
    argTypes:
    - '&mut File'
    - u64
    constantsTouched: []
    func_position:
      end: 374
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 374
    functionName: TdInfoStruct::build_mrtd
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached:
    - read_u32::<LittleEndian>
    - Sha384::new
    - page_addr::to_le_bytes
    - unwrap
    - to_le_bytes
    - Result::finalize
    - '&mut File::seek'
    - expect
    - size_of::<TdxMetadataDescriptor>
    - println
    - chunks_exact
    - Result::update
    - resize_with
    - read_u16::<LittleEndian>
    - '&mut File::read_exact'
    - size_of::<TdxMetadataGuid>
    - SeekFrom::Start
    - String::as_slice
    - pread
    - size_of::<TdxMetadataSection>
    - is_valid
    - size_of::<u32>
    - copy_from_slice
    - size_of::<u16>
    - size_of::<Guid>
    - as_bytes
    linkageType: ''
    returnType: void
    signature: 'pub fn build_mrtd(&mut self, raw_image_file: &mut File, image_size:
      u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sha384::new
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:377,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:378,1
    - Dst: '&mut File::read_to_end'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:379,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:379,1
    - Dst: IgvmFile::new_from_binary
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:380,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:380,1
    - Dst: io::Result::directives
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:385,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:385,1
    - Dst: filter
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:385,1
    - Dst: shared
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:400,1
    - Dst: fill_buffer128_with_mem_page_add
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:405,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:407,1
    - Dst: unmeasured
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:409,1
    - Dst: data::is_empty
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:412,1
    - Dst: data::len
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:412,1
    - Dst: step_by
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:414,1
    - Dst: fill_buffer3_128_with_mr_extend_tdvf
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:415,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:422,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:423,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:424,1
    - Dst: Result::finalize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:431,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:432,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:433,1
    - Dst: String::as_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 89
    argCount: 1
    argNames:
    - raw_image_file
    argTypes:
    - '&mut File'
    constantsTouched: []
    func_position:
      end: 434
      start: 376
    functionDepth: 5
    functionLinenumber: 376
    functionLinenumberEnd: 434
    functionName: TdInfoStruct::build_igvmmrtd
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached:
    - Sha384::new
    - unwrap
    - unmeasured
    - Result::finalize
    - '&mut File::read_to_end'
    - data::len
    - fill_buffer3_128_with_mr_extend_tdvf
    - io::Result::directives
    - expect
    - shared
    - fill_buffer128_with_mem_page_add
    - println
    - Result::update
    - IgvmFile::new_from_binary
    - String::as_slice
    - step_by
    - copy_from_slice
    - data::is_empty
    - Vec::new
    - filter
    - iter
    linkageType: ''
    returnType: void
    signature: 'pub fn build_igvmmrtd(&mut self, raw_image_file: &mut File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:437,1
    - Dst: '&mut File::read_to_end'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:441,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:441,1
    - Dst: IgvmFile::new_from_binary
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:442,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:442,1
    - Dst: IGVM_FIXED_HEADER::read_from_prefix
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:443,1
    - Dst: Result::as_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:443,1
    - Dst: expect
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:443,1
    - Dst: io::Result::directives
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:447,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:447,1
    - Dst: filter
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:447,1
    - Dst: into
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:461,1
    - Dst: into
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:462,1
    - Dst: is_empty
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:464,1
    - Dst: to_vec
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:474,1
    - Dst: extend
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:475,1
    - Dst: std::iter::repeat_n
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 75
    argCount: 1
    argNames:
    - raw_image_file
    argTypes:
    - '&mut File'
    constantsTouched: []
    func_position:
      end: 477
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 477
    functionName: TdInfoStruct::read_igvmcfvdata
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached:
    - std::iter::repeat_n
    - '&mut File::read_to_end'
    - IgvmFile::new_from_binary
    - is_empty
    - io::Result::directives
    - into
    - Vec::new
    - unwrap
    - IGVM_FIXED_HEADER::read_from_prefix
    - Result::as_slice
    - expect
    - extend
    - filter
    - to_vec
    - iter
    linkageType: ''
    returnType: Vec
    signature: 'pub fn read_igvmcfvdata(&mut self, raw_image_file: &mut File) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:480,1
    - Dst: Sha384::new
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:482,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:483,1
    - Dst: Result::finalize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:484,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:487,1
    - Dst: String::as_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:487,1
    - Dst: Sha384::new
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:489,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:490,1
    - Dst: Result::finalize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:491,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:493,1
    - Dst: String::as_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:493,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:494,1
    - Dst: String::as_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 1
    argNames:
    - seperator
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 495
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 495
    functionName: TdInfoStruct::build_rtmr_with_seperator
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 0
    functionsReached:
    - Result::finalize
    - copy_from_slice
    - Sha384::new
    - String::as_slice
    - u32::to_le_bytes
    - Result::update
    linkageType: ''
    returnType: void
    signature: 'pub fn build_rtmr_with_seperator(&mut self, seperator: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:499,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:504,1
    - Dst: '&str::as_bytes'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:504,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:505,1
    - Dst: Result::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:506,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - buf
    - gpa
    argTypes:
    - '&mut [u8; MRTD_EXTENSION_BUFFER_SIZE]'
    - u64
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: fill_buffer128_with_mem_page_add
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 1
    functionsReached:
    - as_ref
    - copy_from_slice
    - '&str::as_bytes'
    - zeroize
    - Result::to_le_bytes
    linkageType: ''
    returnType: void
    signature: 'fn fill_buffer128_with_mem_page_add(buf: &mut [u8; MRTD_EXTENSION_BUFFER_SIZE],
      gpa: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: zeroize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:515,1
    - Dst: zeroize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:516,1
    - Dst: zeroize
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:517,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:522,1
    - Dst: '&str::as_bytes'
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:522,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:523,1
    - Dst: Result::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:524,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:524,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:525,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/tee_info_hash.rs:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 4
    argNames:
    - buf
    - gpa
    - data
    - data_offset
    argTypes:
    - '&mut [[u8; MRTD_EXTENSION_BUFFER_SIZE]; 3]'
    - u64
    - '&Vec<u8>'
    - u64
    constantsTouched: []
    func_position:
      end: 533
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 533
    functionName: fill_buffer3_128_with_mr_extend_tdvf
    functionSourceFile: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
    functionUses: 1
    functionsReached:
    - as_ref
    - copy_from_slice
    - '&str::as_bytes'
    - zeroize
    - Result::to_le_bytes
    linkageType: ''
    returnType: void
    signature: 'fn fill_buffer3_128_with_mr_extend_tdvf(buf: &mut [[u8; MRTD_EXTENSION_BUFFER_SIZE];
      3],gpa: u64,data: &Vec<u8>,data_offset: u64,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arg
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:43,1
    - Dst: required
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:45,1
    - Dst: action
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:45,1
    - Dst: arg
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:43,1
    - Dst: required
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:50,1
    - Dst: action
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:50,1
    - Dst: arg
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:43,1
    - Dst: required
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:55,1
    - Dst: value_parser
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:55,1
    - Dst: action
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:55,1
    - Dst: arg
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:43,1
    - Dst: required
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:61,1
    - Dst: default_value
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:61,1
    - Dst: action
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:61,1
    - Dst: arg
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:43,1
    - Dst: required
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:67,1
    - Dst: value_parser
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:67,1
    - Dst: action
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:67,1
    - Dst: get_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:43,1
    - Dst: get_one::<String>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:75,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:75,1
    - Dst: clone
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:75,1
    - Dst: get_one::<PathBuf>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:76,1
    - Dst: Result::clone
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:77,1
    - Dst: Path::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:79,1
    - Dst: Result::canonicalize
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:79,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:79,1
    - Dst: parent
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:82,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:82,1
    - Dst: Path::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:82,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:82,1
    - Dst: get_one::<String>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:85,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:85,1
    - Dst: clone
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:85,1
    - Dst: get_one::<String>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:86,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:86,1
    - Dst: clone
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:86,1
    - Dst: get_one::<u32>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:87,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:87,1
    - Dst: clone
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:87,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 84
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 96
    functionName: Config::new
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs
    functionUses: 3
    functionsReached:
    - get_matches
    - join
    - Result::clone
    - unwrap
    - clone
    - value_parser
    - Ok
    - parent
    - get_one::<PathBuf>
    - required
    - default_value
    - arg
    - action
    - map_err
    - get_one::<u32>
    - Path::new
    - Result::canonicalize
    - get_one::<String>
    - unwrap_or
    linkageType: ''
    returnType: Result
    signature: pub fn new() -> Result<Self, ConfigParseError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:156,1
    - Dst: td_shim_tools::enroller::create_key_file
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:159,1
    - Dst: Result::as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:159,1
    - Dst: as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:159,1
    - Dst: io::Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:160,1
    - Dst: FirmwareRawFile::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:165,1
    - Dst: String::as_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:165,1
    - Dst: InputData::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:166,1
    - Dst: append
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:167,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:167,1
    - Dst: io::Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:168,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 1
    argNames:
    - config
    argTypes:
    - '&Config'
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 4
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: create_firmware_files
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs
    functionUses: 0
    functionsReached:
    - append
    - Result::as_str
    - FirmwareRawFile::new
    - String::as_bytes
    - InputData::new
    - io::Result::push
    - as_str
    - Vec::new
    - Ok
    - td_shim_tools::enroller::create_key_file
    - as_bytes
    linkageType: ''
    returnType: io::Result
    signature: 'fn create_firmware_files(config: &Config) -> io::Result<Vec<FirmwareRawFile>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:29,1
    - Dst: Result::to_path_buf
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:29,1
    - Dst: parse::<u64>
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:30,1
    - Dst: std::fs::metadata
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:31,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:31,1
    - Dst: std::fs::read
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:35,1
    - Dst: padding_digest
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - path
    - size
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: kernel
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
    functionUses: 1
    functionsReached:
    - len
    - Path::new
    - Result::to_path_buf
    - parse::<u64>
    - padding_digest
    - std::fs::read
    - std::fs::metadata
    linkageType: ''
    returnType: Result
    signature: 'fn kernel(path: &str, size: &str) -> Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::try_from
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:44,1
    - Dst: parse::<usize>
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:45,1
    - Dst: padding_digest
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - param
    - size
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: param
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
    functionUses: 0
    functionsReached:
    - padding_digest
    - Vec::try_from
    - parse::<usize>
    linkageType: ''
    returnType: Result
    signature: 'fn param(param: &str, size: &str) -> Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Path::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:50,1
    - Dst: Result::to_path_buf
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:50,1
    - Dst: parse::<u64>
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:51,1
    - Dst: std::fs::metadata
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:52,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:52,1
    - Dst: std::fs::read
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:56,1
    - Dst: qemu_patch
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - path
    - size
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 4
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: qemu
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
    functionUses: 2
    functionsReached:
    - len
    - Path::new
    - Result::to_path_buf
    - qemu_patch
    - parse::<u64>
    - std::fs::read
    - std::fs::metadata
    linkageType: ''
    returnType: Result
    signature: 'fn qemu(path: &str, size: &str) -> Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sha2::Sha384::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:85,1
    - Dst: get_image_regions
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:86,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:89,1
    - Dst: Result::finalize
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:92,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:93,1
    - Dst: hex::encode
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 1
    argNames:
    - buf
    argTypes:
    - Vec<u8>
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: qemu_patch
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
    functionUses: 1
    functionsReached:
    - Result::finalize
    - hex::encode
    - sha2::Sha384::new
    - Ok
    - get_image_regions
    - Result::update
    linkageType: ''
    returnType: Result
    signature: 'fn qemu_patch(mut buf: Vec<u8>) -> Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:99,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:100,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:139,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:140,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:143,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:144,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:147,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:148,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:170,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 182
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 175
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 175
    functionName: get_image_regions
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
    functionUses: 1
    functionsReached:
    - Result::push
    - Vec::new
    linkageType: ''
    returnType: (usize, Vec
    signature: 'fn get_image_regions(buf: &[u8]) -> (usize, Vec<usize>, Vec<usize>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:178,1
    - Dst: extend_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:180,1
    - Dst: sha2::Sha384::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:181,1
    - Dst: Result::update
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:182,1
    - Dst: Result::finalize
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:183,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:184,1
    - Dst: hex::encode
      Src: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - Vec<u8>
    - usize
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: padding_digest
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
    functionUses: 2
    functionsReached:
    - Result::finalize
    - len
    - hex::encode
    - sha2::Sha384::new
    - extend_from_slice
    - Ok
    - Result::update
    linkageType: ''
    returnType: Result
    signature: 'fn padding_digest(mut buf: Vec<u8>, len: usize) -> Result<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:58,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:59,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:63,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:67,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:72,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:73,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:74,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:75,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:76,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - metadata_descriptor
    - metadata_sections
    argTypes:
    - '&TdxMetadataDescriptor'
    - '&Vec<TdxMetadataSection>'
    constantsTouched: []
    func_position:
      end: 84
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 84
    functionName: dump_tdx_metadata
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs
    functionUses: 0
    functionsReached:
    - println
    linkageType: ''
    returnType: void
    signature: 'fn dump_tdx_metadata(metadata_descriptor: &TdxMetadataDescriptor,metadata_sections:
      &Vec<TdxMetadataSection>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:86,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:86,1
    - Dst: to_string
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:89,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:92,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:92,1
    - Dst: resolve_target_dir
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:95,1
    - Dst: artifact_path
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:96,1
    - Dst: cargo_build_directory_with_fallback
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:107,1
    - Dst: artifact_path
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:113,1
    - Dst: artifact_path
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:117,1
    - Dst: file_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:134,1
    - Dst: align_up
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:135,1
    - Dst: file_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:139,1
    - Dst: elf64_max_vaddr_filesz
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:140,1
    - Dst: align_up
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:141,1
    - Dst: max
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:142,1
    - Dst: align_up
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:145,1
    - Dst: file_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:145,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:147,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:152,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:158,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:159,1
    - Dst: format_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:161,1
    - Dst: format_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:162,1
    - Dst: format_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:163,1
    - Dst: parse_optional
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:165,1
    - Dst: parse_optional
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:166,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:167,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:168,1
    - Dst: parse_optional
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:169,1
    - Dst: parse_optional
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:170,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:171,1
    - Dst: align_up
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:183,1
    - Dst: as_ref
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:185,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:185,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:188,1
    - Dst: transpose
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:185,1
    - Dst: saturating_sub
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:192,1
    - Dst: saturating_sub
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:192,1
    - Dst: align_up
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:195,1
    - Dst: u64::max
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:195,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:198,1
    - Dst: format_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:198,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:200,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:200,1
    - Dst: std::fs::create_dir_all
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:201,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:201,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:207,1
    - Dst: serde_json::to_string_pretty
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:208,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:209,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:209,1
    - Dst: std::fs::copy
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:217,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:217,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:219,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:221,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:224,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 200
    argCount: 1
    argNames:
    - args
    argTypes:
    - Args
    constantsTouched: []
    func_position:
      end: 225
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 225
    functionName: generate_image_layout
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 0
    functionsReached:
    - to_string
    - as_ref
    - resolve_target_dir
    - join
    - parse_size
    - Result::with_context
    - max
    - std::fs::copy
    - u64::max
    - saturating_sub
    - map
    - std::fs::write
    - serde_json::to_string_pretty
    - Ok
    - elf64_max_vaddr_filesz
    - println
    - cargo_build_directory_with_fallback
    - with_context
    - parse_optional
    - file_size
    - transpose
    - artifact_path
    - format_size
    - std::fs::create_dir_all
    - serde_json::from_str
    - align_up
    - Some
    - std::fs::read_to_string
    linkageType: ''
    returnType: Result
    signature: 'fn generate_image_layout(args: Args) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:48,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:49,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:50,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:51,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:52,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:53,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:54,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:55,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:56,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:57,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:58,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:59,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:60,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:61,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: show_help
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 0
    functionsReached:
    - println
    linkageType: ''
    returnType: void
    signature: fn show_help()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::args
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:348,1
    - Dst: collect
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:348,1
    - Dst: pop_front
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:349,1
    - Dst: pop_front
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:355,1
    - Dst: as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:356,1
    - Dst: PathBuf::is_some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:358,1
    - Dst: pop_front
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:361,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:362,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:362,1
    - Dst: PathBuf::is_some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:369,1
    - Dst: pop_front
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:372,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:373,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:373,1
    - Dst: is_some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:380,1
    - Dst: pop_front
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:383,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:384,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:384,1
    - Dst: PathBuf::is_none
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:397,1
    - Dst: is_none
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:401,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:406,1
    - Dst: PathBuf::unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:407,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 411
      start: 345
    functionDepth: 5
    functionLinenumber: 345
    functionLinenumberEnd: 411
    functionName: prepare_args
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 0
    functionsReached:
    - is_some
    - PathBuf::unwrap
    - pop_front
    - PathBuf::is_none
    - as_str
    - is_none
    - unwrap
    - Some
    - PathBuf::from
    - env::args
    - PathBuf::is_some
    - collect
    linkageType: ''
    returnType: Option
    signature: fn prepare_args() -> Option<Args>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::is_empty'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:403,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:404,1
    - Dst: PathBuf::from
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:406,1
    - Dst: PathBuf::is_relative
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:409,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - project_root
    - cargo_target_dir
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: resolve_target_dir
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - join
    - '&str::is_empty'
    - PathBuf::from
    - PathBuf::is_relative
    linkageType: ''
    returnType: PathBuf
    signature: 'fn resolve_target_dir(project_root: &Path, cargo_target_dir: &str)
      -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::is_empty
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:422,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:423,1
    - Dst: PathBuf::join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:425,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:425,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:425,1
    - Dst: exists
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:426,1
    - Dst: PathBuf::to_string
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:427,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - dir
    - target_dir
    - target_arch
    - binary_name
    argTypes:
    - '&str'
    - '&Path'
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: cargo_build_directory_with_fallback
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - exists
    - join
    - PathBuf::join
    - '&str::to_string'
    - PathBuf::is_empty
    - PathBuf::to_string
    linkageType: ''
    returnType: String
    signature: 'fn cargo_build_directory_with_fallback(dir: &str,target_dir: &Path,target_arch:
      &str,binary_name: &str,) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:435,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:435,1
    - Dst: usize::to_path_buf
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:437,1
    - Dst: join
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - base
    - components
    argTypes:
    - '&Path'
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 438
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 438
    functionName: artifact_path
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - join
    - usize::to_path_buf
    - Self::iter
    - Self::IntoIter::fold
    linkageType: ''
    returnType: PathBuf
    signature: 'fn artifact_path(base: &Path, components: &[&str]) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:441,1
    - Dst: std::fs::metadata
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:441,1
    - Dst: Option::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:441,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: file_size
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - Option::with_context
    - len
    - Ok
    - std::fs::metadata
    linkageType: ''
    returnType: Result
    signature: 'fn file_size(path: &Path) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:447,1
    - Dst: '&[u8]::map'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:447,1
    - Dst: parse_size
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:447,1
    - Dst: TestResult::unwrap_or
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:447,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&Option<String>'
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: parse_optional
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - TestResult::unwrap_or
    - '&[u8]::map'
    - as_ref
    - parse_size
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_optional(value: &Option<String>) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strip_prefix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:451,1
    - Dst: u64::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:452,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:452,1
    - Dst: parse::<u64>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:455,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 459
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 459
    functionName: parse_size
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 2
    functionsReached:
    - map_err
    - parse::<u64>
    - u64::from_str_radix
    - strip_prefix
    linkageType: ''
    returnType: Result
    signature: 'fn parse_size(value: &str) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - value
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: format_size
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn format_size(value: u64) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: div_ceil
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - value
    - align
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: align_up
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - div_ceil
    linkageType: ''
    returnType: u64
    signature: 'fn align_up(value: u64, align: u64) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:479,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:479,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:480,1
    - Dst: Self::read_to_end
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:481,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:481,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:495,1
    - Dst: u16::from_be_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:497,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:502,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:502,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:502,1
    - Dst: u32::from_be_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:504,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:504,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:504,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:509,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:509,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:509,1
    - Dst: u64::from_be_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:511,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:511,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:511,1
    - Dst: read_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:515,1
    - Dst: read_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:516,1
    - Dst: read_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:517,1
    - Dst: read_u32
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:537,1
    - Dst: read_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:539,1
    - Dst: read_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:540,1
    - Dst: checked_add
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:541,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:541,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs:555,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 104
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 556
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 556
    functionName: elf64_max_vaddr_filesz
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
    functionUses: 1
    functionsReached:
    - u32::from_be_bytes
    - read_u32
    - checked_add
    - read_u64
    - u64::from_le_bytes
    - read_u16
    - Self::read_to_end
    - std::fs::File::open
    - Result::with_context
    - Vec::new
    - u16::from_le_bytes
    - try_into
    - u32::from_le_bytes
    - unwrap
    - Ok
    - with_context
    - u64::from_be_bytes
    - u16::from_be_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn elf64_max_vaddr_filesz(path: &Path) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:24,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: format_guid
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    linkageType: ''
    returnType: String
    signature: 'fn format_guid(bytes: &[u8]) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::iter'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:39,1
    - Dst: Self::IntoIter::all
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:39,1
    - Dst: String::from
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:40,1
    - Dst: '&[u8]::iter'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:42,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:42,1
    - Dst: TestResult::collect
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: format_hash
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::iter'
    - Self::IntoIter::all
    - String::from
    - TestResult::collect
    - Self::IntoIter::map
    linkageType: ''
    returnType: String
    signature: 'fn format_hash(bytes: &[u8]) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LayoutFieldRaw::deserialize
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:76,1
    - Dst: parse_field_type
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:78,1
    - Dst: std::result::Result::map_err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:78,1
    - Dst: or
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:80,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - deserializer
    argTypes:
    - D
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 7
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: LayoutField::deserialize
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - parse_field_type
    - Ok
    - or
    - LayoutFieldRaw::deserialize
    - std::result::Result::map_err
    linkageType: ''
    returnType: std::result::Result
    signature: 'fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>whereD:
      serde::Deserializer<''de>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:91,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:92,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:93,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:94,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:95,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:98,1
    - Dst: trim_end_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:100,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:102,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:103,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:104,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:105,1
    - Dst: parse::<usize>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:108,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:109,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:109,1
    - Dst: Err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: parse_field_type
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 1
    functionsReached:
    - find
    - parse::<usize>
    - trim_end_matches
    - Ok
    - Some
    - Err
    linkageType: ''
    returnType: std::result::Result
    signature: 'fn parse_field_type(s: &str) -> std::result::Result<(FieldType, Option<usize>),
      String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:122,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:126,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:130,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:135,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:138,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:138,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:138,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:139,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:144,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:147,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:147,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:147,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:148,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:153,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:156,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:156,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:156,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:157,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:161,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:163,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:167,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:172,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 86
    argCount: 2
    argNames:
    - payload
    - layout
    argTypes:
    - '&[u8]'
    - '&[LayoutField]'
    constantsTouched: []
    func_position:
      end: 175
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 175
    functionName: print_payload_with_layout
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - len
    - u64::from_le_bytes
    - unwrap
    - u16::from_le_bytes
    - try_into
    - u32::from_le_bytes
    - unwrap_or
    - println
    linkageType: ''
    returnType: void
    signature: 'fn print_payload_with_layout(payload: &[u8], layout: &[LayoutField])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: serde_json::from_str::<Vec<LayoutField>>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:185,1
    - Dst: or_else
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:185,1
    - Dst: serde_json::from_str::<LayoutWrapper>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:186,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - content
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: parse_layout
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - serde_json::from_str::<Vec<LayoutField>>
    - map
    - or_else
    - serde_json::from_str::<LayoutWrapper>
    linkageType: ''
    returnType: serde_json::Result
    signature: 'fn parse_layout(content: &str) -> serde_json::Result<Vec<LayoutField>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:190,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:191,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:192,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:193,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:195,1
    - Dst: enumerate
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:195,1
    - Dst: TdxMetadataSection::get_type_name
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:196,1
    - Dst: Option::unwrap_or_else
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:196,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:198,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:199,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:200,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:201,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:202,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:203,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - meta
    argTypes:
    - '&ParsedMetadata'
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: print_metadata
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - enumerate
    - TdxMetadataSection::get_type_name
    - iter
    - println
    - Option::unwrap_or_else
    linkageType: ''
    returnType: void
    signature: 'fn print_metadata(meta: &ParsedMetadata)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunks
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:209,1
    - Dst: (AsChunks::enumerate
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:209,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:211,1
    - Dst: Result::iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:212,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:212,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:213,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:215,1
    - Dst: Result::len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:219,1
    - Dst: Result::len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:220,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:221,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:223,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:227,1
    - Dst: Option::is_ascii_graphic
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:229,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:234,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:236,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 3
    argNames:
    - data
    - base_offset
    - indent
    argTypes:
    - '&[u8]'
    - usize
    - '&str'
    constantsTouched: []
    func_position:
      end: 238
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 238
    functionName: xxd_dump
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - Option::is_ascii_graphic
    - chunks
    - Result::iter
    - Result::len
    - Self::IntoIter::enumerate
    - println
    - print
    - (AsChunks::enumerate
    linkageType: ''
    returnType: void
    signature: 'fn xxd_dump(data: &[u8], base_offset: usize, indent: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ParsedMetadata::find_section'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:246,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:249,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:257,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:258,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:263,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:269,1
    - Dst: Self::IntoIter::all
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:269,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:270,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:275,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:275,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:275,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:276,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:276,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:276,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:277,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:277,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:277,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:283,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:284,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:285,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:286,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:287,1
    - Dst: saturating_sub
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:289,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:292,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:294,1
    - Dst: print_payload_with_layout
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:295,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:297,1
    - Dst: xxd_dump
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:298,1
    - Dst: min
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:300,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:301,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:303,1
    - Dst: print
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:306,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 117
    argCount: 4
    argNames:
    - image
    - meta
    - dump_payload
    - layout
    argTypes:
    - '&Image'
    - '&ParsedMetadata'
    - bool
    - Option<&[LayoutField]>
    constantsTouched: []
    func_position:
      end: 311
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 311
    functionName: print_td_info
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - len
    - Self::IntoIter::all
    - '&ParsedMetadata::find_section'
    - saturating_sub
    - print_payload_with_layout
    - unwrap
    - try_into
    - u32::from_le_bytes
    - min
    - iter
    - println
    - print
    - xxd_dump
    linkageType: ''
    returnType: void
    signature: 'fn print_td_info(image: &Image,meta: &ParsedMetadata,dump_payload:
      bool,layout: Option<&[LayoutField]>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ParsedMetadata::find_section'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:317,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:320,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:328,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:329,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:334,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:340,1
    - Dst: Self::IntoIter::all
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:340,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:341,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:348,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:348,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:348,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:350,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:350,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:350,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:352,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:352,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:352,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:358,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:358,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:358,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:360,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:360,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:360,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:362,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:362,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:362,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:364,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:364,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:364,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:374,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:374,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:374,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:376,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:376,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:376,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:378,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:378,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:378,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:380,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:381,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:382,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:383,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:384,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:385,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:386,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:387,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:388,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:389,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:390,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:391,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:392,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:393,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 166
    argCount: 2
    argNames:
    - image
    - meta
    argTypes:
    - '&Image'
    - '&ParsedMetadata'
    constantsTouched: []
    func_position:
      end: 395
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 395
    functionName: print_td_params
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 0
    functionsReached:
    - len
    - Self::IntoIter::all
    - '&ParsedMetadata::find_section'
    - u64::from_le_bytes
    - unwrap
    - u16::from_le_bytes
    - try_into
    - u32::from_le_bytes
    - iter
    - println
    linkageType: ''
    returnType: void
    signature: 'fn print_td_params(image: &Image, meta: &ParsedMetadata)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - program
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: usage
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn usage(program: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lines
      Src: /src/td-shim/library/ring/src/testutil.rs:321,1
    - Dst: String::from
      Src: /src/td-shim/library/ring/src/testutil.rs:323,1
    - Dst: parse_test_case
      Src: /src/td-shim/library/ring/src/testutil.rs:326,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/testutil.rs:327,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/testutil.rs:329,1
    - Dst: any
      Src: /src/td-shim/library/ring/src/testutil.rs:329,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:334,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/testutil.rs:337,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/testutil.rs:340,1
    - Dst: TestResult::is_err
      Src: /src/td-shim/library/ring/src/testutil.rs:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - test_file
    - f
    argTypes:
    - File
    - F
    constantsTouched: []
    func_position:
      end: 361
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 361
    functionName: run
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 2
    functionsReached:
    - f
    - TestResult::is_err
    - any
    - Ok
    - iter
    - String::from
    - Err
    - parse_test_case
    - lines
    linkageType: ''
    returnType: void
    signature: 'pub fn run<F>(test_file: File, mut f: F)whereF: FnMut(&str, &mut TestCase)
      -> Result<(), error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Image::open
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:27,1
    - Dst: ParsedMetadata::from_image
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:28,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:30,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:34,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:38,1
    - Dst: pwrite_with
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:42,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:42,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:47,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:51,1
    - Dst: size_of::<TdxMetadataSection>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:54,1
    - Dst: size_of::<u32>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:54,1
    - Dst: pwrite_with
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:55,1
    - Dst: map_err
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:55,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:61,1
    - Dst: Result::write
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:66,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:67,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 1
    argNames:
    - args
    argTypes:
    - '&Args'
    constantsTouched: []
    func_position:
      end: 70
      start: 26
    functionDepth: 5
    functionLinenumber: 26
    functionLinenumberEnd: 70
    functionName: patch_metadata
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs
    functionUses: 0
    functionsReached:
    - map_err
    - len
    - size_of::<u32>
    - Result::write
    - ParsedMetadata::from_image
    - Ok
    - Image::open
    - pwrite_with
    - size_of::<TdxMetadataSection>
    - println
    linkageType: ''
    returnType: Result
    signature: 'fn patch_metadata(args: &Args) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::trim_start_matches'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:265,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:265,1
    - Dst: u32::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:266,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: parse_hex_u32
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::trim_start_matches'
    - u32::from_str_radix
    - with_context
    - trim_start_matches
    linkageType: ''
    returnType: Result
    signature: 'fn parse_hex_u32(s: &str) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Image::open
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:29,1
    - Dst: ParsedMetadata::from_image
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:30,1
    - Dst: Result::find_section
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:32,1
    - Dst: Option::context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:32,1
    - Dst: std::fs::read
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:44,1
    - Dst: T::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:44,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:47,1
    - Dst: fill
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:54,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:60,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:65,1
    - Dst: Option::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:65,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:69,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:69,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:73,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:73,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:77,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:77,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:79,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:80,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:81,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:82,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:83,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:84,1
    - Dst: Result::write
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:90,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:91,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 106
    argCount: 1
    argNames:
    - args
    argTypes:
    - '&Args'
    constantsTouched: []
    func_position:
      end: 94
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 94
    functionName: patch_td_info
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs
    functionUses: 0
    functionsReached:
    - len
    - Result::write
    - Option::to_le_bytes
    - Option::context
    - copy_from_slice
    - ParsedMetadata::from_image
    - Result::find_section
    - fill
    - Ok
    - Image::open
    - println
    - to_le_bytes
    - T::with_context
    - std::fs::read
    linkageType: ''
    returnType: Result
    signature: 'fn patch_td_info(args: &Args) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:99,1
    - Dst: (Seed, PublicKey)::collect
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:99,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:100,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:105,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:106,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:107,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:108,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:109,1
    - Dst: u32::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:114,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:114,1
    - Dst: u16::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:115,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:115,1
    - Dst: u16::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:116,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:116,1
    - Dst: u16::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:117,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:117,1
    - Dst: u64::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:118,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:118,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:122,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:122,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:123,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:123,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:124,1
    - Dst: to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:124,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:126,1
    - Dst: to_be_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:126,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:127,1
    - Dst: to_be_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:127,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 108
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 130
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 130
    functionName: parse_guid
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs
    functionUses: 0
    functionsReached:
    - len
    - copy_from_slice
    - u32::from_str_radix
    - u16::from_str_radix
    - '&[u8]::split'
    - u64::from_str_radix
    - Some
    - ok
    - to_le_bytes
    - (Seed, PublicKey)::collect
    - to_be_bytes
    linkageType: ''
    returnType: Option
    signature: 'fn parse_guid(s: &str) -> Option<[u8; 16]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::split'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:135,1
    - Dst: (Seed, PublicKey)::collect
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:135,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:136,1
    - Dst: parse::<u8>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:139,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:139,1
    - Dst: parse::<u8>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:140,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:140,1
    - Dst: parse::<u16>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:141,1
    - Dst: ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:141,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: parse_version
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs
    functionUses: 0
    functionsReached:
    - len
    - parse::<u8>
    - '&[u8]::split'
    - Some
    - ok
    - (Seed, PublicKey)::collect
    - parse::<u16>
    linkageType: ''
    returnType: Option
    signature: 'fn parse_version(s: &str) -> Option<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Image::open
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:26,1
    - Dst: ParsedMetadata::from_image
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:27,1
    - Dst: Result::find_section
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:29,1
    - Dst: Option::context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:29,1
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:46,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:46,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:49,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:49,1
    - Dst: serialize_td_params
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:54,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:61,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:63,1
    - Dst: Result::write
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:65,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:66,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 1
    argNames:
    - args
    argTypes:
    - '&Args'
    constantsTouched: []
    func_position:
      end: 69
      start: 25
    functionDepth: 5
    functionLinenumber: 25
    functionLinenumberEnd: 69
    functionName: patch_params
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 0
    functionsReached:
    - Result::write
    - Option::context
    - copy_from_slice
    - ParsedMetadata::from_image
    - serialize_td_params
    - Result::find_section
    - serde_json::from_str
    - Result::with_context
    - Ok
    - Image::open
    - with_context
    - println
    - std::fs::read_to_string
    linkageType: ''
    returnType: Result
    signature: 'fn patch_params(args: &Args) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_json_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:86,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:87,1
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:87,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:89,1
    - Dst: parse_json_u32
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:93,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:94,1
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:94,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:96,1
    - Dst: parse_json_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:100,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:101,1
    - Dst: u32::to_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:101,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:103,1
    - Dst: parse_json_u8
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:107,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:110,1
    - Dst: parse_json_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:118,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:119,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:121,1
    - Dst: write_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:124,1
    - Dst: write_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:125,1
    - Dst: write_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:126,1
    - Dst: write_u8
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:127,1
    - Dst: write_u8
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:128,1
    - Dst: write_u32
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:129,1
    - Dst: write_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:130,1
    - Dst: write_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:131,1
    - Dst: write_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:132,1
    - Dst: write_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:133,1
    - Dst: write_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:134,1
    - Dst: write_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:135,1
    - Dst: write_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:136,1
    - Dst: write_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:137,1
    - Dst: write_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:138,1
    - Dst: write_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:139,1
    - Dst: write_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:140,1
    - Dst: write_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:141,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:147,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 173
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&serde_json::Value'
    constantsTouched: []
    func_position:
      end: 148
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 148
    functionName: serialize_td_params
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - parse_json_u32
    - write_bytes
    - write_u16
    - parse_json_u64
    - copy_from_slice
    - write_u8
    - parse_json_u8
    - write_u64
    - Ok
    - parse_json_bytes
    - write_u32
    - u32::to_le_bytes
    - parse_json_u16
    linkageType: ''
    returnType: Result
    signature: 'fn serialize_td_params(value: &serde_json::Value) -> Result<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&serde_json::Value::get'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:151,1
    - Dst: '!::as_u64'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:152,1
    - Dst: context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:152,1
    - Dst: parse_hex_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:156,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:156,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - obj
    - field
    argTypes:
    - '&serde_json::Value'
    - '&str'
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: parse_json_u64
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - context
    - '!::as_u64'
    - Result::with_context
    - '&serde_json::Value::get'
    - Ok
    - parse_hex_u64
    linkageType: ''
    returnType: Result
    signature: 'fn parse_json_u64(obj: &serde_json::Value, field: &str) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&serde_json::Value::get'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:164,1
    - Dst: '!::as_u64'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:166,1
    - Dst: context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:166,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:173,1
    - Dst: parse_hex_u32
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:176,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:176,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - obj
    - field
    argTypes:
    - '&serde_json::Value'
    - '&str'
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: parse_json_u32
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - context
    - '!::as_u64'
    - parse_hex_u32
    - Result::with_context
    - '&serde_json::Value::get'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_json_u32(obj: &serde_json::Value, field: &str) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&serde_json::Value::get'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:184,1
    - Dst: '!::as_u64'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:186,1
    - Dst: context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:186,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:193,1
    - Dst: parse_hex_u16
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:196,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:196,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - obj
    - field
    argTypes:
    - '&serde_json::Value'
    - '&str'
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: parse_json_u16
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - parse_hex_u16
    - context
    - '!::as_u64'
    - Result::with_context
    - '&serde_json::Value::get'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_json_u16(obj: &serde_json::Value, field: &str) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&serde_json::Value::get'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:204,1
    - Dst: '!::as_u64'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:206,1
    - Dst: context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:206,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:213,1
    - Dst: parse_hex_u8
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:216,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:216,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - obj
    - field
    argTypes:
    - '&serde_json::Value'
    - '&str'
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: parse_json_u8
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - context
    - '!::as_u64'
    - parse_hex_u8
    - Result::with_context
    - '&serde_json::Value::get'
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn parse_json_u8(obj: &serde_json::Value, field: &str) -> Result<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&serde_json::Value::get'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:224,1
    - Dst: hex::decode
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:226,1
    - Dst: '&[u8]::trim_start_matches'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:226,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:226,1
    - Dst: der::Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:226,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:233,1
    - Dst: Vec::with_capacity
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:236,1
    - Dst: iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:237,1
    - Dst: enumerate
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:237,1
    - Dst: Result::as_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:238,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:238,1
    - Dst: '&[u8]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:245,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:252,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - obj
    - field
    - expected_len
    argTypes:
    - '&serde_json::Value'
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 257
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 257
    functionName: parse_json_bytes
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - der::Result::with_context
    - '&[u8]::push'
    - Result::as_u64
    - hex::decode
    - '&serde_json::Value::get'
    - '&[u8]::trim_start_matches'
    - Ok
    - with_context
    - iter
    - trim_start_matches
    - enumerate
    - Vec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn parse_json_bytes(obj: &serde_json::Value, field: &str, expected_len:
      usize) -> Result<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::trim'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:73,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:73,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:73,1
    - Dst: u64::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:74,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: parse_hex_u64
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::trim'
    - u64::from_str_radix
    - with_context
    - trim_start_matches
    linkageType: ''
    returnType: Result
    signature: 'fn parse_hex_u64(s: &str) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::trim_start_matches'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:270,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:270,1
    - Dst: u16::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:271,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: parse_hex_u16
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::trim_start_matches'
    - with_context
    - u16::from_str_radix
    - trim_start_matches
    linkageType: ''
    returnType: Result
    signature: 'fn parse_hex_u16(s: &str) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::trim_start_matches'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:275,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:275,1
    - Dst: u8::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:276,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: parse_hex_u8
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::trim_start_matches'
    - u8::from_str_radix
    - with_context
    - trim_start_matches
    linkageType: ''
    returnType: Result
    signature: 'fn parse_hex_u8(s: &str) -> Result<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:15,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:16,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:17,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:18,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:19,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:20,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:21,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 23
    functionName: print_help
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs
    functionUses: 0
    functionsReached:
    - println
    linkageType: ''
    returnType: void
    signature: fn print_help()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:67,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:67,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:67,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:69,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:69,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:69,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:71,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:71,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:71,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:73,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:73,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:73,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:75,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:75,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:75,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:77,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:77,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:77,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:79,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:79,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:79,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:81,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:81,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:81,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:83,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:83,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:83,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:85,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:85,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:85,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 98
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 98
    functionName: PESectionTable::read_bytes
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs
    functionUses: 0
    functionsReached:
    - u64::from_le_bytes
    - unwrap
    - u16::from_le_bytes
    - try_into
    - u32::from_le_bytes
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn read_bytes(bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PESectionTable::read_bytes
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:104,1
    - Dst: size_of::<PESectionTable>
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:104,1
    - Dst: Option::expect
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 4
    argNames:
    - 'off'
    - count
    - rva
    - buf
    argTypes:
    - usize
    - usize
    - u32
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: get_entry_fa
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs
    functionUses: 0
    functionsReached:
    - size_of::<PESectionTable>
    - PESectionTable::read_bytes
    - Option::expect
    linkageType: ''
    returnType: u32
    signature: 'fn get_entry_fa(off: usize, count: usize, rva: u32, buf: &[u8]) ->
      u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::trim'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:67,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:67,1
    - Dst: trim_start_matches
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:67,1
    - Dst: u32::from_str_radix
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:68,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: parse_hex
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::trim'
    - u32::from_str_radix
    - with_context
    - trim_start_matches
    linkageType: ''
    returnType: Result
    signature: 'fn parse_hex(s: &str) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:91,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:91,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:93,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:93,1
    - Dst: get
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:97,1
    - Dst: and_then
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:97,1
    - Dst: Result::as_array
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:97,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:99,1
    - Dst: as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:101,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:101,1
    - Dst: as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:104,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:104,1
    - Dst: '&[LayoutEntry]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:107,1
    - Dst: parse_hex_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:108,1
    - Dst: parse_hex_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:109,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:112,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:114,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:114,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:118,1
    - Dst: parse_regions
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:119,1
    - Dst: parse_regions
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&PathBuf'
    constantsTouched: []
    func_position:
      end: 122
      start: 90
    functionDepth: 7
    functionLinenumber: 90
    functionLinenumberEnd: 122
    functionName: parse_memory_layout
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 0
    functionsReached:
    - Result::as_array
    - parse_regions
    - '&[LayoutEntry]::push'
    - serde_json::from_str
    - as_str
    - Result::with_context
    - Vec::new
    - and_then
    - Ok
    - with_context
    - parse_hex_u64
    - std::fs::read_to_string
    - get
    linkageType: ''
    returnType: Result
    signature: 'fn parse_memory_layout(path: &PathBuf) -> Result<MemoryLayoutConfig>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::read_to_string
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:129,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:129,1
    - Dst: serde_json::from_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:132,1
    - Dst: Result::with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:132,1
    - Dst: PathBuf::as_object
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:135,1
    - Dst: context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:135,1
    - Dst: get
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:139,1
    - Dst: and_then
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:139,1
    - Dst: Result::as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:141,1
    - Dst: context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:139,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:143,1
    - Dst: wrapping_sub
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:144,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:160,1
    - Dst: get
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:162,1
    - Dst: and_then
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:162,1
    - Dst: Result::as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:162,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:163,1
    - Dst: Result::push
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:164,1
    - Dst: Result::iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:171,1
    - Dst: Self::IntoIter::find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:171,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:171,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:177,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:180,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:182,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:183,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:184,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:187,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:188,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: filter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: into_iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: chain
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:200,1
    - Dst: filter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:200,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:200,1
    - Dst: into_iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:200,1
    - Dst: chain
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:205,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:205,1
    - Dst: into_iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:205,1
    - Dst: chain
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:206,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:206,1
    - Dst: into_iter
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:206,1
    - Dst: min
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:195,1
    - Dst: u32::wrapping_add
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:210,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:212,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:213,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:214,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:222,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:223,1
    - Dst: map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:225,1
    - Dst: unwrap_or
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:225,1
    - Dst: u32::wrapping_add
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:227,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:228,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:229,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:230,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:231,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:232,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:241,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:242,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:243,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:244,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:245,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:253,1
    - Dst: u32::wrapping_add
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:255,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:256,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:257,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:258,1
    - Dst: find
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:268,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:270,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:271,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:272,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:275,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:276,1
    - Dst: '&[TdxMetadataSection]::push'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:284,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:285,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:286,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:287,1
    - Dst: '&str::to_string'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:288,1
    - Dst: check_memory_overlaps
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:296,1
    - Dst: serde_json::to_string_pretty
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:299,1
    - Dst: std::fs::write
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:300,1
    - Dst: with_context
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:300,1
    - Dst: println
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:303,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:304,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 258
    argCount: 3
    argNames:
    - layout_path
    - memory_layout
    - output
    argTypes:
    - '&PathBuf'
    - '&MemoryLayoutConfig'
    - '&PathBuf'
    constantsTouched: []
    func_position:
      end: 305
      start: 124
    functionDepth: 7
    functionLinenumber: 124
    functionLinenumberEnd: 305
    functionName: generate_from_layout
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 0
    functionsReached:
    - context
    - Result::with_context
    - Result::push
    - '&str::to_string'
    - PathBuf::as_object
    - get
    - Self::IntoIter::find
    - find
    - check_memory_overlaps
    - map
    - std::fs::write
    - '&[TdxMetadataSection]::push'
    - serde_json::to_string_pretty
    - Ok
    - println
    - parse_hex
    - u32::wrapping_add
    - Result::as_str
    - wrapping_sub
    - into_iter
    - and_then
    - min
    - with_context
    - chain
    - serde_json::from_str
    - Vec::new
    - Result::iter
    - filter
    - unwrap_or
    - std::fs::read_to_string
    linkageType: ''
    returnType: Result
    signature: 'fn generate_from_layout(layout_path: &PathBuf,memory_layout: &MemoryLayoutConfig,output:
      &PathBuf,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[TdxMetadataSection]::iter'
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:309,1
    - Dst: Self::IntoIter::filter_map
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:309,1
    - Dst: parse_hex_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:312,1
    - Dst: Result::ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:312,1
    - Dst: parse_hex_u64
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:313,1
    - Dst: Result::ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:313,1
    - Dst: Some
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:317,1
    - Dst: as_str
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:317,1
    - Dst: collect
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:309,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:321,1
    - Dst: len
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:322,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs:335,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 1
    argNames:
    - sections
    argTypes:
    - '&[SectionConfig]'
    constantsTouched: []
    func_position:
      end: 336
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 336
    functionName: check_memory_overlaps
    functionSourceFile: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
    functionUses: 1
    functionsReached:
    - '&[TdxMetadataSection]::iter'
    - len
    - Result::ok
    - as_str
    - Ok
    - Some
    - parse_hex_u64
    - Self::IntoIter::filter_map
    - collect
    linkageType: ''
    returnType: Result
    signature: 'fn check_memory_overlaps(sections: &[SectionConfig]) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option<u64>::is_some
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:110,1
    - Dst: Option<u64>::unwrap_or
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:111,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:117,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - error_code
    - shared_gpa
    argTypes:
    - u32
    - Option<u64>
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: tdvmcall_report_fatal_error
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - td_vmcall
    - Default::default
    - Option<u64>::is_some
    - Option<u64>::unwrap_or
    linkageType: ''
    returnType: void
    signature: 'pub fn tdvmcall_report_fatal_error(error_code: u32, shared_gpa: Option<u64>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rflags::read
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:128,1
    - Dst: T::contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:128,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:133,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: tdvmcall_halt
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - td_vmcall
    - T::contains
    - rflags::read
    - Default::default
    linkageType: ''
    returnType: void
    signature: pub fn tdvmcall_halt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:147,1
    - Dst: td_vmcall_ex
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: tdvmcall_sti_halt
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - td_vmcall_ex
    - Default::default
    linkageType: ''
    returnType: void
    signature: pub fn tdvmcall_sti_halt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<u8>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:162,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:165,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:168,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 175
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 175
    functionName: tdvmcall_io_read_8
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 2
    functionsReached:
    - core::mem::size_of::<u8>
    - tdvmcall_halt
    - td_vmcall
    - Default::default
    linkageType: ''
    returnType: u8
    signature: 'pub fn tdvmcall_io_read_8(port: u16) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<u16>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:184,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:187,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:190,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: tdvmcall_io_read_16
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - core::mem::size_of::<u16>
    - tdvmcall_halt
    - td_vmcall
    - Default::default
    linkageType: ''
    returnType: u16
    signature: 'pub fn tdvmcall_io_read_16(port: u16) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<u32>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:206,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:209,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:212,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - port
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 219
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 219
    functionName: tdvmcall_io_read_32
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 2
    functionsReached:
    - td_vmcall
    - tdvmcall_halt
    - core::mem::size_of::<u32>
    - Default::default
    linkageType: ''
    returnType: u32
    signature: 'pub fn tdvmcall_io_read_32(port: u16) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<u8>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:228,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:232,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:235,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - port
    - byte
    argTypes:
    - u16
    - u8
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: tdvmcall_io_write_8
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 3
    functionsReached:
    - core::mem::size_of::<u8>
    - tdvmcall_halt
    - td_vmcall
    - Default::default
    linkageType: ''
    returnType: void
    signature: 'pub fn tdvmcall_io_write_8(port: u16, byte: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<u16>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:249,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:253,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:256,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - port
    - byte
    argTypes:
    - u16
    - u16
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: tdvmcall_io_write_16
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - core::mem::size_of::<u16>
    - tdvmcall_halt
    - td_vmcall
    - Default::default
    linkageType: ''
    returnType: void
    signature: 'pub fn tdvmcall_io_write_16(port: u16, byte: u16)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::size_of::<u32>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:270,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:274,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:277,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - port
    - byte
    argTypes:
    - u16
    - u32
    constantsTouched: []
    func_position:
      end: 282
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 282
    functionName: tdvmcall_io_write_32
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 2
    functionsReached:
    - td_vmcall
    - tdvmcall_halt
    - core::mem::size_of::<u32>
    - Default::default
    linkageType: ''
    returnType: void
    signature: 'pub fn tdvmcall_io_write_32(port: u16, byte: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::sync::atomic::fence
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:290,1
    - Dst: core::mem::size_of::<T>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:295,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:299,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:302,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - address
    - value
    argTypes:
    - '*const T'
    - T
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: tdvmcall_mmio_write
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - td_vmcall
    - core::mem::size_of::<T>
    - Default::default
    - core::sync::atomic::fence
    - tdvmcall_halt
    linkageType: ''
    returnType: void
    signature: 'pub fn tdvmcall_mmio_write<T: Sized>(address: *const T, value: T)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::sync::atomic::fence
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:315,1
    - Dst: core::mem::size_of::<T>
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:319,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:322,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:325,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - address
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: tdvmcall_mmio_read
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - td_vmcall
    - core::mem::size_of::<T>
    - Default::default
    - core::sync::atomic::fence
    - tdvmcall_halt
    linkageType: ''
    returnType: T
    signature: 'pub fn tdvmcall_mmio_read<T: Clone + Copy + Sized>(address: usize)
      -> T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:346,1
    - Dst: ok_or
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:346,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:363,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:366,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:368,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:370,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:370,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:375,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:389,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 3
    argNames:
    - shared
    - paddr
    - length
    argTypes:
    - bool
    - u64
    - usize
    constantsTouched: []
    func_position:
      end: 390
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 390
    functionName: tdvmcall_mapgpa
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - checked_add
    - td_vmcall
    - Default::default
    - Ok
    - ok_or
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_mapgpa(shared: bool, paddr: u64, length: usize) ->
      Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:400,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:403,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:406,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:406,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - index
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: tdvmcall_rdmsr
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 3
    functionsReached:
    - u64::into
    - td_vmcall
    - Default::default
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_rdmsr(index: u32) -> Result<u64, TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:421,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:424,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:427,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:427,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - u32
    - u64
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: tdvmcall_wrmsr
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 3
    functionsReached:
    - u64::into
    - td_vmcall
    - Default::default
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_wrmsr(index: u32, value: u64) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:442,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:445,1
    - Dst: tdvmcall_halt
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - eax
    - ecx
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 457
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 457
    functionName: tdvmcall_cpuid
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - tdvmcall_halt
    - td_vmcall
    - Default::default
    linkageType: ''
    returnType: CpuIdInfo
    signature: 'pub fn tdvmcall_cpuid(eax: u32, ecx: u32) -> CpuIdInfo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:468,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:471,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:474,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:474,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - vector
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: tdvmcall_setup_event_notify
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - td_vmcall
    - Default::default
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_setup_event_notify(vector: u64) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:487,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:492,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:493,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:496,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:499,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:499,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 503
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 503
    functionName: tdvmcall_get_quote
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - td_vmcall
    - Default::default
    - Ok
    - '&mut [u8]::len'
    - '&mut [u8]::as_mut_ptr'
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_get_quote(buffer: &mut [u8]) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:520,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:521,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:525,1
    - Dst: contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:529,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:530,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:539,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:542,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:545,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:545,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 4
    argNames:
    - command
    - response
    - interrupt
    - wait_time
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 549
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 549
    functionName: tdvmcall_service
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - td_vmcall
    - Default::default
    - as_mut_ptr
    - as_ptr
    - contains
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_service(command: &[u8],response: &mut [u8],interrupt:
      u64,wait_time: u64,) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:556,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:557,1
    - Dst: MigTdLeaf::new
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:558,1
    - Dst: Result::with_migtd_leaffunction
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:558,1
    - Dst: with_migtd_apiversion
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:558,1
    - Dst: with_reserved
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:558,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:565,1
    - Dst: contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:569,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:570,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:575,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:579,1
    - Dst: td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:582,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:585,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:585,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 2
    argNames:
    - data_buffer
    - interrupt
    argTypes:
    - '&mut [u8]'
    - u8
    constantsTouched: []
    func_position:
      end: 589
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 589
    functionName: tdvmcall_migtd_waitforrequest
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - Result::with_migtd_leaffunction
    - u64::into
    - '&mut [u8]::as_mut_ptr'
    - td_vmcall
    - Default::default
    - into
    - MigTdLeaf::new
    - with_reserved
    - contains
    - '&mut [u8]::len'
    - Ok
    - with_migtd_apiversion
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_migtd_waitforrequest(data_buffer: &mut [u8],interrupt:
      u8,) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:598,1
    - Dst: contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:600,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:601,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:604,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:605,1
    - Dst: MigTdLeaf::new
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:606,1
    - Dst: Result::with_migtd_leaffunction
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:606,1
    - Dst: with_migtd_apiversion
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:606,1
    - Dst: with_reserved
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:606,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:613,1
    - Dst: contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:617,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:618,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:623,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:629,1
    - Dst: td_vmcall_ex2
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:632,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:635,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:635,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 4
    argNames:
    - mig_request_id
    - pre_migration_status
    - data_buffer
    - interrupt
    argTypes:
    - u64
    - u64
    - '&mut [u8]'
    - u8
    constantsTouched: []
    func_position:
      end: 639
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 639
    functionName: tdvmcall_migtd_reportstatus
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - Result::with_migtd_leaffunction
    - u64::into
    - with_migtd_apiversion
    - Default::default
    - into
    - MigTdLeaf::new
    - u64::to_le_bytes
    - td_vmcall_ex2
    - contains
    - with_reserved
    - '&mut [u8]::len'
    - Ok
    - '&mut [u8]::as_mut_ptr'
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_migtd_reportstatus(mig_request_id: u64,pre_migration_status:
      u64,data_buffer: &mut [u8],interrupt: u8,) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:647,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:648,1
    - Dst: MigTdLeaf::new
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:649,1
    - Dst: Result::with_migtd_leaffunction
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:649,1
    - Dst: with_migtd_apiversion
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:649,1
    - Dst: with_reserved
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:649,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:656,1
    - Dst: contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:660,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:661,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:666,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:671,1
    - Dst: td_vmcall_ex2
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:674,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:677,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:677,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 3
    argNames:
    - mig_request_id
    - data_buffer
    - interrupt
    argTypes:
    - u64
    - '&mut [u8]'
    - u8
    constantsTouched: []
    func_position:
      end: 681
      start: 642
    functionDepth: 4
    functionLinenumber: 642
    functionLinenumberEnd: 681
    functionName: tdvmcall_migtd_send
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - Result::with_migtd_leaffunction
    - u64::into
    - '&mut [u8]::as_mut_ptr'
    - Default::default
    - into
    - MigTdLeaf::new
    - td_vmcall_ex2
    - with_reserved
    - contains
    - '&mut [u8]::len'
    - Ok
    - with_migtd_apiversion
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_migtd_send(mig_request_id: u64,data_buffer: &mut [u8],interrupt:
      u8,) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:689,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:690,1
    - Dst: MigTdLeaf::new
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:691,1
    - Dst: Result::with_migtd_leaffunction
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:691,1
    - Dst: with_migtd_apiversion
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:691,1
    - Dst: with_reserved
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:691,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:698,1
    - Dst: contains
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:702,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:703,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:708,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:713,1
    - Dst: td_vmcall_ex2
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:716,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:719,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:719,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 50
    argCount: 3
    argNames:
    - mig_request_id
    - data_buffer
    - interrupt
    argTypes:
    - u64
    - '&mut [u8]'
    - u8
    constantsTouched: []
    func_position:
      end: 723
      start: 684
    functionDepth: 4
    functionLinenumber: 684
    functionLinenumberEnd: 723
    functionName: tdvmcall_migtd_receive
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - Result::with_migtd_leaffunction
    - u64::into
    - '&mut [u8]::as_mut_ptr'
    - Default::default
    - into
    - MigTdLeaf::new
    - td_vmcall_ex2
    - with_reserved
    - contains
    - '&mut [u8]::len'
    - Ok
    - with_migtd_apiversion
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdvmcall_migtd_receive(mig_request_id: u64,data_buffer: &mut
      [u8],interrupt: u8,) -> Result<(), TdVmcallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:731,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:734,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:737,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:737,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:746,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 750
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 750
    functionName: tdcall_get_td_info
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: pub fn tdcall_get_td_info() -> Result<TdInfo, TdCallError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:762,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:765,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:768,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:768,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - digest
    - mr_index
    argTypes:
    - '&TdxDigest'
    - u32
    constantsTouched: []
    func_position:
      end: 772
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 772
    functionName: tdcall_extend_rtmr
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_extend_rtmr(digest: &TdxDigest, mr_index: u32) -> Result<(),
      TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:780,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:783,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:786,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:786,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:796,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 800
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 800
    functionName: tdcall_get_ve_info
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: pub fn tdcall_get_ve_info() -> Result<TdVeInfo, TdCallError>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:811,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:819,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:822,1
    - Dst: TdCallError::from
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:824,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:826,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:831,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - address
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 832
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 832
    functionName: tdcall_accept_page
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - Default::default
    - into
    - td_call
    - Ok
    - TdCallError::from
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_accept_page(address: u64) -> Result<(), TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdcall_accept_page
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:843,1
    - Dst: td_accept_pages
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - address
    - pages
    - page_size
    argTypes:
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 863
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 863
    functionName: td_accept_pages
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 3
    functionsReached:
    - td_accept_pages
    - tdcall_accept_page
    linkageType: ''
    returnType: void
    signature: 'pub fn td_accept_pages(address: u64, pages: u64, page_size: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: td_accept_pages
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:880,1
    - Dst: td_accept_pages
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:888,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - address
    - len
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 894
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 894
    functionName: td_accept_memory
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - td_accept_pages
    linkageType: ''
    returnType: void
    signature: 'pub fn td_accept_memory(address: u64, len: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdcall_get_td_info
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:899,1
    - Dst: Result::ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:899,1
    - Dst: Some
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 908
    functionName: td_shared_mask
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 1
    functionsReached:
    - tdcall_get_td_info
    - Some
    - Result::ok
    linkageType: ''
    returnType: Option
    signature: pub fn td_shared_mask() -> Option<u64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u64]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:919,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:920,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:931,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:934,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:937,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:937,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 3
    argNames:
    - binding_handle
    - field_identifier
    - target_td_uuid
    argTypes:
    - u64
    - u64
    - '&[u64]'
    constantsTouched: []
    func_position:
      end: 946
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 946
    functionName: tdcall_servtd_rd
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - '&[u64]::len'
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_servtd_rd(binding_handle: u64,field_identifier: u64,target_td_uuid:
      &[u64],) -> Result<ServtdRWResult, TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u64]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:957,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:958,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:960,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:966,1
    - Dst: try_into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:966,1
    - Dst: unwrap
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:966,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:967,1
    - Dst: try_into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:967,1
    - Dst: unwrap
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:967,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:968,1
    - Dst: try_into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:968,1
    - Dst: unwrap
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:968,1
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:973,1
    - Dst: try_into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:973,1
    - Dst: unwrap
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:973,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:976,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:979,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:979,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 61
    argCount: 3
    argNames:
    - old_binding_handle
    - rebind_session_token
    - target_td_uuid
    argTypes:
    - u64
    - '&[u8]'
    - '&[u64]'
    constantsTouched: []
    func_position:
      end: 983
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 983
    functionName: tdcall_servtd_rebind_approve
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - u64::from_le_bytes
    - '&[u64]::len'
    - unwrap
    - try_into
    - '&[u8]::len'
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_servtd_rebind_approve(old_binding_handle: u64,rebind_session_token:
      &[u8],target_td_uuid: &[u64],) -> Result<TargetTdUuid, TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u64]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:995,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:996,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1009,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1012,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1015,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1015,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 4
    argNames:
    - binding_handle
    - field_identifier
    - data
    - target_td_uuid
    argTypes:
    - u64
    - u64
    - u64
    - '&[u64]'
    constantsTouched: []
    func_position:
      end: 1024
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1024
    functionName: tdcall_servtd_wr
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - '&[u64]::len'
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_servtd_wr(binding_handle: u64,field_identifier: u64,data:
      u64,target_td_uuid: &[u64],) -> Result<ServtdRWResult, TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1033,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1036,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1039,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1039,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - field_identifier
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1043
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1043
    functionName: tdcall_sys_rd
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: core::result::Result
    signature: 'pub fn tdcall_sys_rd(field_identifier: u64) -> core::result::Result<(u64,
      u64), TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1052,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1055,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1058,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1058,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - field
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1062
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1062
    functionName: tdcall_vp_read
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_vp_read(field: u64) -> Result<(u64, u64), TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1073,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1076,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1079,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1079,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - field
    - value
    - mask
    argTypes:
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1083
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1083
    functionName: tdcall_vp_write
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_vp_write(field: u64, value: u64, mask: u64) -> Result<u64,
      TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1094,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1097,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1100,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1100,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - flags
    - gla
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1104
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1104
    functionName: tdcall_vp_invvpid
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_vp_invvpid(flags: u64, gla: u64) -> Result<u64, TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1113,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1116,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1119,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1119,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - vm_flags
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1123
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1123
    functionName: tdcall_vp_invept
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_vp_invept(vm_flags: u64) -> Result<(), TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1133,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vm_flags
    - gpa
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1139
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1139
    functionName: tdcall_vp_enter
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - td_call
    - Default::default
    linkageType: ''
    returnType: TdcallArgs
    signature: 'pub fn tdcall_vp_enter(vm_flags: u64, gpa: u64) -> TdcallArgs'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1148,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1151,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1154,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1154,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - field
    - version
    argTypes:
    - u64
    - u8
    constantsTouched: []
    func_position:
      end: 1158
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1158
    functionName: tdcall_vm_read
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_vm_read(field: u64, version: u8) -> Result<(u64, u64),
      TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1169,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1172,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1175,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1175,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - field
    - value
    - mask
    argTypes:
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1179
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1179
    functionName: tdcall_vm_write
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - u64::into
    - Default::default
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_vm_write(field: u64, value: u64, mask: u64) -> Result<u64,
      TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1194,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1202,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1205,1
    - Dst: TdCallError::from
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1207,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1209,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1214,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - gpa_mapping
    - gpa_attr
    - attr_flags
    argTypes:
    - u64
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 1215
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1215
    functionName: tdcall_mem_page_attr_wr
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - Default::default
    - into
    - td_call
    - Ok
    - TdCallError::from
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_mem_page_attr_wr(gpa_mapping: u64,gpa_attr: u64,attr_flags:
      u64,) -> Result<(u64, u64), TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1227,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - byte
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1233
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1233
    functionName: tdcall_tdg_debug_write_8
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - td_call
    - Default::default
    linkageType: ''
    returnType: TdcallArgs
    signature: 'pub fn tdcall_tdg_debug_write_8(byte: u8) -> TdcallArgs'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1246
    functionName: tests::test_struct_size_alignment
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_struct_size_alignment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdcall_servtd_rd
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1254
    functionName: tests::test_tdcall_servtd_rd
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - tdcall_servtd_rd
    linkageType: ''
    returnType: void
    signature: fn test_tdcall_servtd_rd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tdcall_servtd_wr
      Src: /src/td-shim/tdx-tdcall/src/tdx.rs:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1262
    functionName: tests::test_tdcall_servtd_wr
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdx.rs
    functionUses: 0
    functionsReached:
    - tdcall_servtd_wr
    linkageType: ''
    returnType: void
    signature: fn test_tdcall_servtd_wr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:51,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: ReportMac::as_bytes
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: ReportMac::fmt
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: TeeTcbInfo::fmt
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:110,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: TeeTcbInfo::as_bytes
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:149,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: TdInfo::as_bytes
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 177
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 177
    functionName: TdInfo::fmt
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: TdxReport::fmt
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:206,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: TdxReport::as_bytes
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts_mut
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:210,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: TdxReport::as_bytes_mut
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - core::ptr::slice_from_raw_parts_mut
    - size_of::<Self>
    linkageType: ''
    returnType: '&mut [u8]'
    signature: pub fn as_bytes_mut(&mut self) -> &mut [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:214,1
    - Dst: size_of::<TdxReport>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:214,1
    - Dst: MaybeUninit::uninit
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:218,1
    - Dst: Some
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:220,1
    - Dst: core::ptr::copy_nonoverlapping
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:221,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:222,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:223,1
    - Dst: size_of::<TdxReport>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:224,1
    - Dst: assume_init
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: TdxReport::read_from_bytes
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - assume_init
    - as_mut_ptr
    - '&[u8]::as_ptr'
    - '&[u8]::len'
    - Some
    - size_of::<TdxReport>
    - core::ptr::copy_nonoverlapping
    - MaybeUninit::uninit
    linkageType: ''
    returnType: Option
    signature: 'pub fn read_from_bytes(bytes: &[u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::zeroed
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: TdxReport::default
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached:
    - core::mem::zeroed
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdxReportBuf
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:254,1
    - Dst: TdxReport::default
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:254,1
    - Dst: AdditionalDataBuf
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:255,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:261,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:264,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:266,1
    - Dst: into
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:266,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - additional_data
    argTypes:
    - '&[u8; TD_REPORT_ADDITIONAL_DATA_SIZE]'
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: tdcall_report
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 2
    functionsReached:
    - Default::default
    - TdxReport::default
    - into
    - td_call
    - Ok
    - TdxReportBuf
    - Err
    - AdditionalDataBuf
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_report(additional_data: &[u8; TD_REPORT_ADDITIONAL_DATA_SIZE],)
      -> Result<TdxReport, TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:277,1
    - Dst: size_of::<ReportMac>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:277,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:278,1
    - Dst: ReportMacBuf
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:281,1
    - Dst: size_of::<ReportMac>
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:281,1
    - Dst: copy_from_slice
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:282,1
    - Dst: Default::default
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:287,1
    - Dst: td_call
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:290,1
    - Dst: Err
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:292,1
    - Dst: u64::into
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:292,1
    - Dst: Ok
      Src: /src/td-shim/tdx-tdcall/src/tdreport.rs:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - report_mac
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 296
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 296
    functionName: tdcall_verify_report
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 1
    functionsReached:
    - u64::into
    - copy_from_slice
    - Default::default
    - size_of::<ReportMac>
    - '&[u8]::len'
    - ReportMacBuf
    - td_call
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn tdcall_verify_report(report_mac: &[u8]) -> Result<(), TdCallError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: tests::test_tdx_report_size
    functionSourceFile: /src/td-shim/tdx-tdcall/src/tdreport.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_tdx_report_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asm::asm_td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - '&mut TdVmcallArgs'
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: td_vmcall
    functionSourceFile: /src/td-shim/tdx-tdcall/src/lib.rs
    functionUses: 19
    functionsReached:
    - asm::asm_td_vmcall
    linkageType: ''
    returnType: u64
    signature: 'pub fn td_vmcall(args: &mut TdVmcallArgs) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asm::asm_td_vmcall
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - args
    - do_sti
    argTypes:
    - '&mut TdVmcallArgs'
    - bool
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: td_vmcall_ex
    functionSourceFile: /src/td-shim/tdx-tdcall/src/lib.rs
    functionUses: 1
    functionsReached:
    - asm::asm_td_vmcall
    linkageType: ''
    returnType: u64
    signature: 'pub fn td_vmcall_ex(args: &mut TdVmcallArgs, do_sti: bool) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asm::asm_td_vmcall_ex
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - args
    - do_sti
    argTypes:
    - '&mut TdVmcallArgsEx'
    - bool
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: td_vmcall_ex2
    functionSourceFile: /src/td-shim/tdx-tdcall/src/lib.rs
    functionUses: 3
    functionsReached:
    - asm::asm_td_vmcall_ex
    linkageType: ''
    returnType: u64
    signature: 'pub fn td_vmcall_ex2(args: &mut TdVmcallArgsEx, do_sti: bool) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: asm::asm_td_call
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - '&mut TdcallArgs'
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: td_call
    functionSourceFile: /src/td-shim/tdx-tdcall/src/lib.rs
    functionUses: 20
    functionsReached:
    - asm::asm_td_call
    linkageType: ''
    returnType: u64
    signature: 'pub fn td_call(args: &mut TdcallArgs) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::TdxExitReasonOperandBusy
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:233,1
    - Dst: Self::TdxExitReasonOperandInvalid
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:234,1
    - Dst: Self::LeafSpecific
      Src: /src/td-shim/tdx-tdcall/src/lib.rs:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - val
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: TdCallError::from
    functionSourceFile: /src/td-shim/tdx-tdcall/src/lib.rs
    functionUses: 2
    functionsReached:
    - Self::TdxExitReasonOperandBusy
    - Self::LeafSpecific
    - Self::TdxExitReasonOperandInvalid
    linkageType: ''
    returnType: Self
    signature: 'fn from(val: u64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: TdVmcallError::from
    functionSourceFile: /src/td-shim/tdx-tdcall/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(val: u64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 325
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 325
    functionName: tag_to_str
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: 'pub fn tag_to_str(tag: u64) -> &''static str'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - et
    argTypes:
    - u16
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: et_to_str
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: 'pub fn et_to_str(et: u16) -> &''static str'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: et_to_str
      Src: /src/td-shim/td-loader/src/elf64.rs:377,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    - Dst: finish
      Src: /src/td-shim/td-loader/src/elf64.rs:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 391
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 391
    functionName: ELFHeader64::fmt
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    - et_to_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 437
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 437
    functionName: pt_to_str
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: 'pub fn pt_to_str(pt: u32) -> &''static str'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: ProgramHeader::is_executable
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_executable(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: ProgramHeader::is_write
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_write(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: pt_to_str
      Src: /src/td-shim/td-loader/src/elf64.rs:454,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    - Dst: finish
      Src: /src/td-shim/td-loader/src/elf64.rs:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: ProgramHeader::fmt
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - field
    - pt_to_str
    - finish
    - debug_struct
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entries
    - e_phnum
    argTypes:
    - '&''a [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: ProgramHeaders::parse
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn parse(entries: &''a [u8], e_phnum: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/td-shim/td-loader/src/elf64.rs:491,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:493,1
    - Dst: pread::<ProgramHeader>
      Src: /src/td-shim/td-loader/src/elf64.rs:498,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/elf64.rs:498,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 502
    functionName: ProgramHeaders::next
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_mul
    - pread::<ProgramHeader>
    - Some
    - ok
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf64.rs:532,1
    - Dst: expect
      Src: /src/td-shim/td-loader/src/elf64.rs:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: SectionHeader::vm_range
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - expect
    linkageType: ''
    returnType: Range
    signature: pub fn vm_range(&self) -> Range<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entries
    - e_shnum
    argTypes:
    - '&''a [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: SectionHeaders::parse
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn parse(entries: &''a [u8], e_shnum: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/td-shim/td-loader/src/elf64.rs:564,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:566,1
    - Dst: pread::<SectionHeader>
      Src: /src/td-shim/td-loader/src/elf64.rs:571,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/elf64.rs:571,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: SectionHeaders::next
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_mul
    - Some
    - ok
    - pread::<SectionHeader>
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/td-loader/src/elf64.rs:585,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:585,1
    - Dst: tag_to_str
      Src: /src/td-shim/td-loader/src/elf64.rs:586,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:585,1
    - Dst: finish
      Src: /src/td-shim/td-loader/src/elf64.rs:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: Dyn::fmt
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - field
    - tag_to_str
    - finish
    - debug_struct
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - entries
    - entries_len
    argTypes:
    - '&''a [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: Dyns::parse
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn parse(entries: &''a [u8], entries_len: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: saturating_mul
      Src: /src/td-shim/td-loader/src/elf64.rs:613,1
    - Dst: checked_mul
      Src: /src/td-shim/td-loader/src/elf64.rs:616,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:618,1
    - Dst: pread::<Dyn>
      Src: /src/td-shim/td-loader/src/elf64.rs:623,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/elf64.rs:623,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 627
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: Dyns::next
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_mul
    - saturating_mul
    - pread::<Dyn>
    - Some
    - ok
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf64.rs:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - phdrs
    - address
    argTypes:
    - ProgramHeaders
    - u64
    constantsTouched: []
    func_position:
      end: 641
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 641
    functionName: vm_to_offset
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - checked_add
    linkageType: ''
    returnType: Option
    signature: 'fn vm_to_offset(phdrs: ProgramHeaders, address: u64) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 666
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 666
    functionName: Rela::r_sym
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn r_sym(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: Rela::r_type
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn r_type(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/td-loader/src/elf64.rs:676,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:676,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:676,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:676,1
    - Dst: Rela::r_sym
      Src: /src/td-shim/td-loader/src/elf64.rs:679,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/elf64.rs:676,1
    - Dst: Rela::r_type
      Src: /src/td-shim/td-loader/src/elf64.rs:680,1
    - Dst: finish
      Src: /src/td-shim/td-loader/src/elf64.rs:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: Rela::fmt
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    - Rela::r_type
    - Rela::r_sym
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - entries
    - relacount
    - relaent
    argTypes:
    - '&''a [u8]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 700
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 700
    functionName: Relocs::parse
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(entries: &''a [u8], relacount: usize, relaent: usize)
      -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_mul
      Src: /src/td-shim/td-loader/src/elf64.rs:714,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:715,1
    - Dst: checked_sub
      Src: /src/td-shim/td-loader/src/elf64.rs:715,1
    - Dst: pread::<Rela>
      Src: /src/td-shim/td-loader/src/elf64.rs:718,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/elf64.rs:718,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:721,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 722
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 722
    functionName: Relocs::next
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_mul
    - pread::<Rela>
    - Some
    - ok
    - checked_sub
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread::<ELFHeader64>
      Src: /src/td-shim/td-loader/src/elf64.rs:732,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/elf64.rs:732,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-loader/src/elf64.rs:733,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-loader/src/elf64.rs:733,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - elf_bin
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 740
      start: 731
    functionDepth: 1
    functionLinenumber: 731
    functionLinenumberEnd: 740
    functionName: Elf::parse
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - ok
    - '&''a [u8]::len'
    - Some
    - pread::<ELFHeader64>
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(elf_bin: &''a [u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DynamicInfo::default
      Src: /src/td-shim/td-loader/src/elf64.rs:744,1
    - Dst: Elf::program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:745,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf64.rs:747,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:747,1
    - Dst: Dyns::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:750,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:756,1
    - Dst: vm_to_offset
      Src: /src/td-shim/td-loader/src/elf64.rs:760,1
    - Dst: Elf::program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:760,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:760,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:774,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 775
    functionName: Elf::dynamic_info
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - DynamicInfo::default
    - len
    - Elf::program_headers
    - Option::unwrap
    - Some
    - checked_add
    - vm_to_offset
    - Dyns::parse
    linkageType: ''
    returnType: Option
    signature: fn dynamic_info(&self) -> Option<DynamicInfo>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:778,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:782,1
    - Dst: ProgramHeaders::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:782,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: Elf::program_headers
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 1
    functionsReached:
    - len
    - Option::unwrap
    - ProgramHeaders::parse
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn program_headers(&self) -> Option<ProgramHeaders<'a>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:786,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:790,1
    - Dst: SectionHeaders::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:790,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: Elf::section_headers
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - len
    - Option::unwrap
    - SectionHeaders::parse
    - Some
    linkageType: ''
    returnType: Option
    signature: pub fn section_headers(&self) -> Option<SectionHeaders<'a>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elf::dynamic_info
      Src: /src/td-shim/td-loader/src/elf64.rs:796,1
    - Dst: len
      Src: /src/td-shim/td-loader/src/elf64.rs:797,1
    - Dst: checked_sub
      Src: /src/td-shim/td-loader/src/elf64.rs:797,1
    - Dst: Relocs::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:798,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 804
      start: 793
    functionDepth: 3
    functionLinenumber: 793
    functionLinenumberEnd: 804
    functionName: Elf::relocations
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - len
    - Some
    - Relocs::parse
    - checked_sub
    - Elf::dynamic_info
    linkageType: ''
    returnType: Option
    signature: pub fn relocations(&self) -> Option<Relocs<'a>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::elf64::Elf::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:808,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:812,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf64.rs:814,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/elf64.rs:814,1
    - Dst: crate::elf64::Dyns::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:818,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:824,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:826,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf64.rs:835,1
    - Dst: u64::checked_add
      Src: /src/td-shim/td-loader/src/elf64.rs:837,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 3
    argNames:
    - loaded_image
    - tag
    - sz_tag
    argTypes:
    - '&[u8]'
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 839
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 839
    functionName: get_init_array
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - program_headers
    - crate::elf64::Elf::parse
    - u64::checked_add
    - '&[u8]::len'
    - Some
    - crate::elf64::Dyns::parse
    - checked_add
    linkageType: ''
    returnType: Option
    signature: 'pub(crate) fn get_init_array(loaded_image: &[u8], tag: u64, sz_tag:
      u64) -> Option<Range<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::elf64::Elf::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:849,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:849,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:850,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:852,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:852,1
    - Dst: next
      Src: /src/td-shim/td-loader/src/elf64.rs:852,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:852,1
    - Dst: is_executable
      Src: /src/td-shim/td-loader/src/elf64.rs:853,1
    - Dst: is_write
      Src: /src/td-shim/td-loader/src/elf64.rs:856,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:860,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:860,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:861,1
    - Dst: Dyns::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:863,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:863,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:869,1
    - Dst: section_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:873,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:873,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:874,1
    - Dst: relocations
      Src: /src/td-shim/td-loader/src/elf64.rs:882,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:884,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 888
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 888
    functionName: test_elf_loader::test_elfheader
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - Dyns::parse
    - relocations
    - Option::unwrap
    - is_executable
    - section_headers
    - program_headers
    - unwrap
    - crate::elf64::Elf::parse
    - is_write
    - println
    - next
    linkageType: ''
    returnType: void
    signature: fn test_elfheader()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/td-loader/src/elf64.rs:939,1
    - Dst: et_to_str
      Src: /src/td-shim/td-loader/src/elf64.rs:940,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:941,1
    - Dst: iter
      Src: /src/td-shim/td-loader/src/elf64.rs:943,1
    - Dst: pt_to_str
      Src: /src/td-shim/td-loader/src/elf64.rs:944,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:945,1
    - Dst: iter
      Src: /src/td-shim/td-loader/src/elf64.rs:947,1
    - Dst: tag_to_str
      Src: /src/td-shim/td-loader/src/elf64.rs:948,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 951
    functionName: test_elf_loader::test_to_str
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - pt_to_str
    - tag_to_str
    - et_to_str
    - iter
    - println
    linkageType: ''
    returnType: void
    signature: fn test_to_str()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SectionHeader::default
      Src: /src/td-shim/td-loader/src/elf64.rs:956,1
    - Dst: Self::vm_range
      Src: /src/td-shim/td-loader/src/elf64.rs:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 960
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 960
    functionName: test_elf_loader::test_vm_range
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - SectionHeader::default
    - Self::vm_range
    linkageType: ''
    returnType: void
    signature: fn test_vm_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::elf64::Elf::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:966,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:966,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:967,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 971
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 971
    functionName: test_elf_loader::test_programheaders_iterator
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - crate::elf64::Elf::parse
    - Option::unwrap
    - program_headers
    linkageType: ''
    returnType: void
    signature: fn test_programheaders_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::elf64::Elf::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:977,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:977,1
    - Dst: section_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:978,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 982
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 982
    functionName: test_elf_loader::test_sectionheaders_iterator
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - crate::elf64::Elf::parse
    - Option::unwrap
    - section_headers
    linkageType: ''
    returnType: void
    signature: fn test_sectionheaders_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::elf64::Elf::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:988,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:988,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf64.rs:991,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:991,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/elf64.rs:992,1
    - Dst: Dyns::parse
      Src: /src/td-shim/td-loader/src/elf64.rs:994,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf64.rs:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1003
    functionName: test_elf_loader::test_dyns_iterator
    functionSourceFile: /src/td-shim/td-loader/src/elf64.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - program_headers
    - crate::elf64::Elf::parse
    - println
    - Dyns::parse
    linkageType: ''
    returnType: void
    signature: fn test_dyns_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:87,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:87,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:90,1
    - Dst: unwrap_or_default
      Src: /src/td-shim/td-loader/src/pe.rs:90,1
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:94,1
    - Dst: map
      Src: /src/td-shim/td-loader/src/pe.rs:94,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/td-loader/src/pe.rs:94,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:97,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:98,1
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:103,1
    - Dst: unwrap_or_default
      Src: /src/td-shim/td-loader/src/pe.rs:103,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:108,1
    - Dst: unwrap_or_default
      Src: /src/td-shim/td-loader/src/pe.rs:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 62
    argCount: 1
    argNames:
    - pe_image
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 113
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 113
    functionName: is_x86_64_pe
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 1
    functionsReached:
    - map
    - unwrap_or_else
    - '&[u8]::len'
    - unwrap_or_default
    - pread::<u16>
    - pread::<u32>
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_x86_64_pe(pe_image: &[u8]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: relocate_with_per_section
      Src: /src/td-shim/td-loader/src/pe.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pe_image
    - new_pe_image
    - new_image_base
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: relocate
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 2
    functionsReached:
    - relocate_with_per_section
    linkageType: ''
    returnType: Option
    signature: 'pub fn relocate(pe_image: &[u8], new_pe_image: &mut [u8], new_image_base:
      usize) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:125,1
    - Dst: relocate_with_per_section
      Src: /src/td-shim/td-loader/src/pe.rs:127,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pe_image
    - new_pe_image
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: relocate_pe_mem_with_per_sections
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 2
    functionsReached:
    - relocate_with_per_section
    - '&[u8]::len'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn relocate_pe_mem_with_per_sections(pe_image: &[u8],new_pe_image:
      &mut [u8],) -> Option<(u64, u64, u64)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:144,1
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:147,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:147,1
    - Dst: usize::checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:151,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:152,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:152,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:154,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:154,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:155,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:155,1
    - Dst: coff_header_end::checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:162,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:163,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:163,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:165,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:165,1
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:168,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:168,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:173,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:174,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:174,1
    - Dst: pread::<u64>
      Src: /src/td-shim/td-loader/src/pe.rs:176,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:176,1
    - Dst: usize::checked_mul
      Src: /src/td-shim/td-loader/src/pe.rs:181,1
    - Dst: coff_optional_end::checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:182,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:184,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:184,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:185,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:185,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-loader/src/pe.rs:189,1
    - Dst: '&mut [u8]::pwrite'
      Src: /src/td-shim/td-loader/src/pe.rs:190,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:190,1
    - Dst: Sections::parse
      Src: /src/td-shim/td-loader/src/pe.rs:194,1
    - Dst: Option::section_size
      Src: /src/td-shim/td-loader/src/pe.rs:197,1
    - Dst: usize::checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:199,1
    - Dst: usize::checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:201,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:203,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:203,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:204,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:204,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-loader/src/pe.rs:205,1
    - Dst: usize::checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:207,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:208,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:208,1
    - Dst: fill
      Src: /src/td-shim/td-loader/src/pe.rs:209,1
    - Dst: Sections::parse
      Src: /src/td-shim/td-loader/src/pe.rs:213,1
    - Dst: reloc_to_base
      Src: /src/td-shim/td-loader/src/pe.rs:216,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:226,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 206
    argCount: 3
    argNames:
    - pe_image
    - new_pe_image
    - new_image_base
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 227
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 227
    functionName: relocate_with_per_section
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 2
    functionsReached:
    - usize::checked_sub
    - coff_optional_end::checked_add
    - ok
    - pread::<u32>
    - Sections::parse
    - Option::section_size
    - usize::checked_mul
    - '&mut [u8]::len'
    - checked_add
    - pread::<u16>
    - copy_from_slice
    - fill
    - '&[u8]::len'
    - pread::<u64>
    - usize::checked_add
    - Some
    - reloc_to_base
    - coff_header_end::checked_add
    - '&mut [u8]::pwrite'
    linkageType: ''
    returnType: Option
    signature: 'pub fn relocate_with_per_section(pe_image: &[u8],new_pe_image: &mut
      [u8],new_image_base: usize,) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: field
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    - Dst: finish
      Src: /src/td-shim/td-loader/src/pe.rs:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 296
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 296
    functionName: Section::fmt
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: Section::is_executable
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_executable(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: Section::is_write
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_write(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: Section::section_virtual_address
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn section_virtual_address(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::cmp::min
      Src: /src/td-shim/td-loader/src/pe.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: Section::section_size
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - core::cmp::min
    linkageType: ''
    returnType: u32
    signature: pub fn section_size(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:124,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - sections_buffer
    - offset
    argTypes:
    - '&''a [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: Sections::parse
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 1
    functionsReached:
    - '&''a [u8]::len'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(sections_buffer: &''a [u8], offset: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:138,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:138,1
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:142,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:142,1
    - Dst: CommonSectionHeaderType::Header2
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:145,1
    - Dst: core::mem::size_of::<CommonSectionHeader2>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:146,1
    - Dst: CommonSectionHeaderType::Header
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:153,1
    - Dst: core::mem::size_of::<CommonSectionHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:154,1
    - Dst: u32::checked_sub
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:158,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:159,1
    - Dst: checked_sub
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:159,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:164,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 171
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 171
    functionName: Sections::next
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - CommonSectionHeaderType::Header
    - len
    - CommonSectionHeaderType::Header2
    - core::mem::size_of::<CommonSectionHeader2>
    - core::mem::size_of::<CommonSectionHeader>
    - u32::checked_sub
    - Some
    - ok
    - pread
    - checked_sub
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:374,1
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - entries
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 379
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 379
    functionName: RelocationEntries::parse
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - '&''a [u8]::len'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(entries: &''a [u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/td-shim/td-loader/src/pe.rs:390,1
    - Dst: checked_mul
      Src: /src/td-shim/td-loader/src/pe.rs:392,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:390,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 399
    functionName: RelocationEntries::next
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - ok
    - pread
    - checked_mul
    - Some
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&''a [u8]'
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: Relocations::parse
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(bytes: &''a [u8]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-loader/src/pe.rs:427,1
    - Dst: checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:427,1
    - Dst: '&[u8]::pread'
      Src: /src/td-shim/td-loader/src/pe.rs:432,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:432,1
    - Dst: '&[u8]::pread'
      Src: /src/td-shim/td-loader/src/pe.rs:433,1
    - Dst: core::mem::size_of::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:433,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:433,1
    - Dst: checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:434,1
    - Dst: core::mem::size_of::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:434,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-loader/src/pe.rs:435,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:435,1
    - Dst: core::mem::size_of::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:438,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 444
    functionName: Relocations::next
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_sub
    - '&[u8]::pread'
    - '&[u8]::len'
    - Some
    - ok
    - usize::checked_sub
    - core::mem::size_of::<u32>
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::section_size
      Src: /src/td-shim/td-loader/src/pe.rs:454,1
    - Dst: Relocations::parse
      Src: /src/td-shim/td-loader/src/pe.rs:457,1
    - Dst: RelocationEntries::parse
      Src: /src/td-shim/td-loader/src/pe.rs:460,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:463,1
    - Dst: '&mut [u8]::pread'
      Src: /src/td-shim/td-loader/src/pe.rs:464,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:464,1
    - Dst: checked_sub
      Src: /src/td-shim/td-loader/src/pe.rs:465,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/pe.rs:465,1
    - Dst: '&mut [u8]::pwrite'
      Src: /src/td-shim/td-loader/src/pe.rs:468,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/pe.rs:468,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/pe.rs:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 5
    argNames:
    - loaded_buffer
    - image_buffer
    - section
    - image_base
    - new_image_base
    argTypes:
    - '&mut [u8]'
    - '&[u8]'
    - '&Section'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 484
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 484
    functionName: reloc_to_base
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 1
    functionsReached:
    - Relocations::parse
    - '&mut [u8]::pread'
    - Option::section_size
    - Some
    - ok
    - checked_add
    - RelocationEntries::parse
    - '&mut [u8]::pwrite'
    - checked_sub
    linkageType: ''
    returnType: Option
    signature: 'fn reloc_to_base(loaded_buffer: &mut [u8],image_buffer: &[u8],section:
      &Section,image_base: usize,new_image_base: usize,) -> Option<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_x86_64_pe
      Src: /src/td-shim/td-loader/src/pe.rs:494,1
    - Dst: is_x86_64_pe
      Src: /src/td-shim/td-loader/src/pe.rs:498,1
    - Dst: is_x86_64_pe
      Src: /src/td-shim/td-loader/src/pe.rs:502,1
    - Dst: is_x86_64_pe
      Src: /src/td-shim/td-loader/src/pe.rs:507,1
    - Dst: is_x86_64_pe
      Src: /src/td-shim/td-loader/src/pe.rs:515,1
    - Dst: is_x86_64_pe
      Src: /src/td-shim/td-loader/src/pe.rs:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 492
    functionDepth: 4
    functionLinenumber: 492
    functionLinenumberEnd: 521
    functionName: test::test_is_pe
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - is_x86_64_pe
    linkageType: ''
    returnType: void
    signature: fn test_is_pe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:528,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:528,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:531,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:531,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:532,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:532,1
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:543,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:543,1
    - Dst: pread::<u64>
      Src: /src/td-shim/td-loader/src/pe.rs:544,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:544,1
    - Dst: Sections::parse
      Src: /src/td-shim/td-loader/src/pe.rs:551,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:551,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/pe.rs:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 557
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 557
    functionName: test::test_sections
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - unwrap
    - pread::<u64>
    - pread::<u16>
    - println
    - pread::<u32>
    - Sections::parse
    linkageType: ''
    returnType: void
    signature: fn test_sections()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Env::default
      Src: /src/td-shim/td-loader/src/pe.rs:562,1
    - Dst: Self::filter_or
      Src: /src/td-shim/td-loader/src/pe.rs:562,1
    - Dst: write_style_or
      Src: /src/td-shim/td-loader/src/pe.rs:562,1
    - Dst: env_logger::init_from_env
      Src: /src/td-shim/td-loader/src/pe.rs:565,1
    - Dst: relocate_pe_mem_with_per_sections
      Src: /src/td-shim/td-loader/src/pe.rs:572,1
    - Dst: as_mut_slice
      Src: /src/td-shim/td-loader/src/pe.rs:572,1
    - Dst: println
      Src: /src/td-shim/td-loader/src/pe.rs:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 560
    functionDepth: 5
    functionLinenumber: 560
    functionLinenumberEnd: 584
    functionName: test::test_relocate_pe_mem_with_per_sections
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - write_style_or
    - env_logger::init_from_env
    - Env::default
    - relocate_pe_mem_with_per_sections
    - Self::filter_or
    - println
    - as_mut_slice
    linkageType: ''
    returnType: void
    signature: fn test_relocate_pe_mem_with_per_sections()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: relocate
      Src: /src/td-shim/td-loader/src/pe.rs:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 597
      start: 587
    functionDepth: 5
    functionLinenumber: 587
    functionLinenumberEnd: 597
    functionName: test::test_relocate
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - relocate
    linkageType: ''
    returnType: void
    signature: fn test_relocate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread::<u32>
      Src: /src/td-shim/td-loader/src/pe.rs:602,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:602,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:605,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:605,1
    - Dst: pread::<u16>
      Src: /src/td-shim/td-loader/src/pe.rs:606,1
    - Dst: unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:606,1
    - Dst: Sections::parse
      Src: /src/td-shim/td-loader/src/pe.rs:611,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/pe.rs:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 615
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 615
    functionName: test::test_sections_iterator
    functionSourceFile: /src/td-shim/td-loader/src/pe.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - unwrap
    - pread::<u16>
    - pread::<u32>
    - Sections::parse
    linkageType: ''
    returnType: void
    signature: fn test_sections_iterator()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/td-loader/src/elf.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - image
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: is_elf
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 1
    functionsReached:
    - Result::len
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_elf(image: &[u8]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: relocate_elf_with_per_program_header
      Src: /src/td-shim/td-loader/src/elf.rs:27,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/td-shim/td-loader/src/elf.rs:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - image
    - loaded_buffer
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: relocate_elf_mem_with_per_program_header
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 2
    functionsReached:
    - relocate_elf_with_per_program_header
    - '&mut [u8]::as_ptr'
    linkageType: ''
    returnType: Option
    signature: 'pub fn relocate_elf_mem_with_per_program_header(image: &[u8],loaded_buffer:
      &mut [u8],) -> Option<(u64, u64, u64)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::elf64::Elf::parse
      Src: /src/td-shim/td-loader/src/elf.rs:36,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf.rs:41,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:45,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:50,1
    - Dst: u64::checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:51,1
    - Dst: align_value
      Src: /src/td-shim/td-loader/src/elf.rs:54,1
    - Dst: align_value
      Src: /src/td-shim/td-loader/src/elf.rs:55,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/src/elf.rs:57,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:59,1
    - Dst: Result::len
      Src: /src/td-shim/td-loader/src/elf.rs:59,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:60,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/td-loader/src/elf.rs:60,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-loader/src/elf.rs:66,1
    - Dst: relocations
      Src: /src/td-shim/td-loader/src/elf.rs:71,1
    - Dst: r_type
      Src: /src/td-shim/td-loader/src/elf.rs:72,1
    - Dst: pwrite::<u64>
      Src: /src/td-shim/td-loader/src/elf.rs:74,1
    - Dst: usize::checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:76,1
    - Dst: ok
      Src: /src/td-shim/td-loader/src/elf.rs:74,1
    - Dst: Some
      Src: /src/td-shim/td-loader/src/elf.rs:83,1
    - Dst: checked_add
      Src: /src/td-shim/td-loader/src/elf.rs:84,1
    - Dst: u64::checked_sub
      Src: /src/td-shim/td-loader/src/elf.rs:86,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 137
    argCount: 3
    argNames:
    - image
    - loaded_buffer
    - new_image_base
    argTypes:
    - '&[u8]'
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 88
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 88
    functionName: relocate_elf_with_per_program_header
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 3
    functionsReached:
    - relocations
    - copy_from_slice
    - pwrite::<u64>
    - program_headers
    - crate::elf64::Elf::parse
    - u64::checked_add
    - Result::len
    - '&mut [u8]::len'
    - usize::checked_add
    - Some
    - ok
    - checked_add
    - u64::checked_sub
    - align_value
    - r_type
    linkageType: ''
    returnType: Option
    signature: 'pub fn relocate_elf_with_per_program_header(image: &[u8],loaded_buffer:
      &mut [u8],new_image_base: usize,) -> Option<(u64, u64, u64)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf64::get_init_array
      Src: /src/td-shim/td-loader/src/elf.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - loaded_image
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: parse_pre_init_array_section
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 0
    functionsReached:
    - elf64::get_init_array
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse_pre_init_array_section(loaded_image: &[u8]) -> Option<Range<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf64::get_init_array
      Src: /src/td-shim/td-loader/src/elf.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - loaded_image
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: parse_init_array_section
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 0
    functionsReached:
    - elf64::get_init_array
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse_init_array_section(loaded_image: &[u8]) -> Option<Range<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf64::get_init_array
      Src: /src/td-shim/td-loader/src/elf.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - loaded_image
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: parse_finit_array_section
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 0
    functionsReached:
    - elf64::get_init_array
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse_finit_array_section(loaded_image: &[u8]) -> Option<Range<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - value
    - align
    - flag
    argTypes:
    - u64
    - u64
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: align_value
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'fn align_value(value: u64, align: u64, flag: bool) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: test_elf_loader::test_is_elf
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_is_elf()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/td-loader/src/elf.rs:132,1
    - Dst: super::relocate_elf_with_per_program_header
      Src: /src/td-shim/td-loader/src/elf.rs:134,1
    - Dst: as_mut_slice
      Src: /src/td-shim/td-loader/src/elf.rs:136,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 4
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: test_elf_loader::test_relocate
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - super::relocate_elf_with_per_program_header
    - as_mut_slice
    - as_ptr
    linkageType: ''
    returnType: void
    signature: fn test_relocate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::relocate_elf_mem_with_per_program_header
      Src: /src/td-shim/td-loader/src/elf.rs:147,1
    - Dst: as_mut_slice
      Src: /src/td-shim/td-loader/src/elf.rs:147,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/src/elf.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: test_elf_loader::test_relocate_mem
    functionSourceFile: /src/td-shim/td-loader/src/elf.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - as_mut_slice
    - super::relocate_elf_mem_with_per_program_header
    linkageType: ''
    returnType: void
    signature: fn test_relocate_mem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf::is_elf
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:9,1
    - Dst: elf::relocate_elf_mem_with_per_program_header
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:14,1
    - Dst: as_mut_slice
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:14,1
    - Dst: elf::parse_pre_init_array_section
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:15,1
    - Dst: elf::parse_init_array_section
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:16,1
    - Dst: elf::parse_finit_array_section
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:17,1
    - Dst: Elf::parse
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:19,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:22,1
    - Dst: Option::is_none
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:22,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: next
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:25,1
    - Dst: is_executable
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:26,1
    - Dst: is_write
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:28,1
    - Dst: program_headers
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:32,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:32,1
    - Dst: relocations
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:36,1
    - Dst: iter
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:105,1
    - Dst: et_to_str
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:106,1
    - Dst: iter
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:109,1
    - Dst: pt_to_str
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:110,1
    - Dst: iter
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:113,1
    - Dst: tag_to_str
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:114,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 83
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 117
      start: 8
    functionDepth: 5
    functionLinenumber: 8
    functionLinenumberEnd: 117
    functionName: fuzz_elf_loader
    functionSourceFile: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 0
    functionsReached:
    - relocations
    - elf::parse_finit_array_section
    - Option::is_none
    - Option::unwrap
    - Elf::parse
    - is_executable
    - program_headers
    - elf::is_elf
    - elf::parse_init_array_section
    - is_write
    - elf::parse_pre_init_array_section
    - pt_to_str
    - tag_to_str
    - et_to_str
    - iter
    - elf::relocate_elf_mem_with_per_program_header
    - as_mut_slice
    - next
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_elf_loader(data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: td_loader::pe::is_x86_64_pe
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:122,1
    - Dst: Sections::parse
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:123,1
    - Dst: '&[TdxMetadataSection]::is_some'
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:124,1
    - Dst: '&[TdxMetadataSection]::unwrap'
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:125,1
    - Dst: td_loader::pe::relocate
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:132,1
    - Dst: as_mut_slice
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:132,1
    - Dst: td_loader::pe::relocate_pe_mem_with_per_sections
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:134,1
    - Dst: as_mut_slice
      Src: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: fuzz_pe_loader
    functionSourceFile: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 0
    functionsReached:
    - td_loader::pe::relocate
    - td_loader::pe::relocate_pe_mem_with_per_sections
    - td_loader::pe::is_x86_64_pe
    - '&[TdxMetadataSection]::unwrap'
    - as_mut_slice
    - '&[TdxMetadataSection]::is_some'
    - Sections::parse
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_pe_loader(data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: LogLevel::debug_feature
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&str'
    signature: fn debug_feature(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: LogLevel::relase_feature
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&str'
    signature: fn relase_feature(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/xtask/src/build.rs:114,1
    - Dst: BuildArgs::build_shim
      Src: /src/td-shim/xtask/src/build.rs:118,1
    - Dst: Some
      Src: /src/td-shim/xtask/src/build.rs:121,1
    - Dst: fs::canonicalize
      Src: /src/td-shim/xtask/src/build.rs:121,1
    - Dst: Some
      Src: /src/td-shim/xtask/src/build.rs:123,1
    - Dst: BuildArgs::build_example_payload
      Src: /src/td-shim/xtask/src/build.rs:123,1
    - Dst: BuildArgs::build_image
      Src: /src/td-shim/xtask/src/build.rs:128,1
    - Dst: BuildArgs::enroll
      Src: /src/td-shim/xtask/src/build.rs:129,1
    - Dst: as_path
      Src: /src/td-shim/xtask/src/build.rs:129,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: BuildArgs::build
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 0
    functionsReached:
    - as_path
    - fs::canonicalize
    - BuildArgs::build_example_payload
    - BuildArgs::enroll
    - BuildArgs::build_image
    - BuildArgs::build_shim
    - Some
    - anyhow::Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: pub fn build(&self) -> Result<PathBuf>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fs::canonicalize
      Src: /src/td-shim/xtask/src/build.rs:136,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:138,1
    - Dst: Shell::new
      Src: /src/td-shim/xtask/src/build.rs:141,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:142,1
    - Dst: Result::change_dir
      Src: /src/td-shim/xtask/src/build.rs:143,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:143,1
    - Dst: arg
      Src: /src/td-shim/xtask/src/build.rs:144,1
    - Dst: to_str
      Src: /src/td-shim/xtask/src/build.rs:146,1
    - Dst: context
      Src: /src/td-shim/xtask/src/build.rs:146,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:144,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:144,1
    - Dst: to_str
      Src: /src/td-shim/xtask/src/build.rs:153,1
    - Dst: context
      Src: /src/td-shim/xtask/src/build.rs:153,1
    - Dst: run
      Src: /src/td-shim/xtask/src/build.rs:144,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: BuildArgs::build_shim_layout
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 0
    functionsReached:
    - Result::change_dir
    - Shell::new
    - context
    - run
    - join
    - fs::canonicalize
    - arg
    - anyhow::Ok
    - args
    - to_str
    linkageType: ''
    returnType: Result
    signature: fn build_shim_layout(&self) -> Result<()>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BuildArgs::build_shim_layout
      Src: /src/td-shim/xtask/src/build.rs:162,1
    - Dst: Shell::new
      Src: /src/td-shim/xtask/src/build.rs:164,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:165,1
    - Dst: BuildArgs::features
      Src: /src/td-shim/xtask/src/build.rs:169,1
    - Dst: String::as_str
      Src: /src/td-shim/xtask/src/build.rs:169,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:165,1
    - Dst: BuildArgs::profile
      Src: /src/td-shim/xtask/src/build.rs:170,1
    - Dst: run
      Src: /src/td-shim/xtask/src/build.rs:165,1
    - Dst: Self::strip
      Src: /src/td-shim/xtask/src/build.rs:174,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:177,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:178,1
    - Dst: BuildArgs::profile_path
      Src: /src/td-shim/xtask/src/build.rs:179,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:178,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:181,1
    - Dst: BuildArgs::profile_path
      Src: /src/td-shim/xtask/src/build.rs:181,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 161
    functionDepth: 5
    functionLinenumber: 161
    functionLinenumberEnd: 183
    functionName: BuildArgs::build_shim
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - BuildArgs::profile
    - Shell::new
    - BuildArgs::build_shim_layout
    - run
    - join
    - BuildArgs::features
    - String::as_str
    - BuildArgs::profile_path
    - anyhow::Ok
    - args
    - Self::strip
    linkageType: ''
    returnType: Result
    signature: fn build_shim(&self) -> Result<(PathBuf, PathBuf)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shell::new
      Src: /src/td-shim/xtask/src/build.rs:186,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:187,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:187,1
    - Dst: BuildArgs::profile
      Src: /src/td-shim/xtask/src/build.rs:192,1
    - Dst: run
      Src: /src/td-shim/xtask/src/build.rs:187,1
    - Dst: Self::strip
      Src: /src/td-shim/xtask/src/build.rs:196,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:199,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:199,1
    - Dst: BuildArgs::profile_path
      Src: /src/td-shim/xtask/src/build.rs:199,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: BuildArgs::build_example_payload
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - BuildArgs::profile
    - Shell::new
    - run
    - join
    - BuildArgs::profile_path
    - anyhow::Ok
    - args
    - Self::strip
    linkageType: ''
    returnType: Result
    signature: fn build_example_payload(&self) -> Result<PathBuf>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shell::new
      Src: /src/td-shim/xtask/src/build.rs:208,1
    - Dst: BuildArgs::payload_type
      Src: /src/td-shim/xtask/src/build.rs:214,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:215,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:218,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:218,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:218,1
    - Dst: BuildArgs::output
      Src: /src/td-shim/xtask/src/build.rs:221,1
    - Dst: to_str
      Src: /src/td-shim/xtask/src/build.rs:221,1
    - Dst: unwrap
      Src: /src/td-shim/xtask/src/build.rs:221,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:224,1
    - Dst: fs::canonicalize
      Src: /src/td-shim/xtask/src/build.rs:224,1
    - Dst: to_str
      Src: /src/td-shim/xtask/src/build.rs:224,1
    - Dst: unwrap
      Src: /src/td-shim/xtask/src/build.rs:224,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:228,1
    - Dst: to_str
      Src: /src/td-shim/xtask/src/build.rs:228,1
    - Dst: '&''static str::unwrap'
      Src: /src/td-shim/xtask/src/build.rs:228,1
    - Dst: run
      Src: /src/td-shim/xtask/src/build.rs:227,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:234,1
    - Dst: BuildArgs::output
      Src: /src/td-shim/xtask/src/build.rs:234,1
    - Dst: to_path_buf
      Src: /src/td-shim/xtask/src/build.rs:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 68
    argCount: 3
    argNames:
    - reset_vector
    - shim
    - payload
    argTypes:
    - PathBuf
    - PathBuf
    - Option<PathBuf>
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: BuildArgs::build_image
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - to_path_buf
    - Shell::new
    - BuildArgs::payload_type
    - '&''static str::unwrap'
    - run
    - fs::canonicalize
    - unwrap
    - anyhow::Ok
    - args
    - to_str
    - BuildArgs::output
    linkageType: ''
    returnType: Result
    signature: 'fn build_image(&self,reset_vector: PathBuf,shim: PathBuf,payload:
      Option<PathBuf>,) -> Result<PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/td-shim/xtask/src/build.rs:238,1
    - Dst: is_none
      Src: /src/td-shim/xtask/src/build.rs:238,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:239,1
    - Dst: Shell::new
      Src: /src/td-shim/xtask/src/build.rs:242,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:243,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:243,1
    - Dst: BuildArgs::output
      Src: /src/td-shim/xtask/src/build.rs:245,1
    - Dst: to_str
      Src: /src/td-shim/xtask/src/build.rs:245,1
    - Dst: unwrap
      Src: /src/td-shim/xtask/src/build.rs:245,1
    - Dst: as_ref
      Src: /src/td-shim/xtask/src/build.rs:247,1
    - Dst: split
      Src: /src/td-shim/xtask/src/build.rs:249,1
    - Dst: (Seed, PublicKey)::map
      Src: /src/td-shim/xtask/src/build.rs:249,1
    - Dst: '&[u8]::to_string'
      Src: /src/td-shim/xtask/src/build.rs:249,1
    - Dst: split(",").map(|s| s.to_string()).collect::<Vec<String>>
      Src: /src/td-shim/xtask/src/build.rs:249,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:250,1
    - Dst: as_str
      Src: /src/td-shim/xtask/src/build.rs:250,1
    - Dst: arg
      Src: /src/td-shim/xtask/src/build.rs:250,1
    - Dst: as_str
      Src: /src/td-shim/xtask/src/build.rs:250,1
    - Dst: as_ref
      Src: /src/td-shim/xtask/src/build.rs:254,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:255,1
    - Dst: Result::as_str
      Src: /src/td-shim/xtask/src/build.rs:255,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:255,1
    - Dst: BuildArgs::enroll_key_hash_alg
      Src: /src/td-shim/xtask/src/build.rs:256,1
    - Dst: as_str
      Src: /src/td-shim/xtask/src/build.rs:256,1
    - Dst: run
      Src: /src/td-shim/xtask/src/build.rs:254,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:262,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 85
    argCount: 1
    argNames:
    - image
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 263
      start: 237
    functionDepth: 4
    functionLinenumber: 237
    functionLinenumberEnd: 263
    functionName: BuildArgs::enroll
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - split(",").map(|s| s.to_string()).collect::<Vec<String>>
    - Result::as_str
    - Shell::new
    - as_ref
    - run
    - split
    - as_str
    - is_none
    - unwrap
    - arg
    - anyhow::Ok
    - (Seed, PublicKey)::map
    - BuildArgs::enroll_key_hash_alg
    - '&[u8]::to_string'
    - args
    - to_str
    - BuildArgs::output
    linkageType: ''
    returnType: Result
    signature: 'fn enroll(&self, image: &Path) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_or_else
      Src: /src/td-shim/xtask/src/build.rs:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: BuildArgs::payload_type
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - unwrap_or_else
    linkageType: ''
    returnType: PayloadType
    signature: fn payload_type(&self) -> PayloadType
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: BuildArgs::profile
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&str'
    signature: fn profile(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: BuildArgs::profile_path
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: '&str'
    signature: fn profile_path(&self) -> &str
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split
      Src: /src/td-shim/xtask/src/build.rs:292,1
    - Dst: map
      Src: /src/td-shim/xtask/src/build.rs:292,1
    - Dst: '&[u8]::to_string'
      Src: /src/td-shim/xtask/src/build.rs:294,1
    - Dst: collect
      Src: /src/td-shim/xtask/src/build.rs:292,1
    - Dst: split
      Src: /src/td-shim/xtask/src/build.rs:298,1
    - Dst: Features::push
      Src: /src/td-shim/xtask/src/build.rs:299,1
    - Dst: '&[u8]::to_string'
      Src: /src/td-shim/xtask/src/build.rs:299,1
    - Dst: Features::push
      Src: /src/td-shim/xtask/src/build.rs:304,1
    - Dst: unwrap_or
      Src: /src/td-shim/xtask/src/build.rs:305,1
    - Dst: relase_feature
      Src: /src/td-shim/xtask/src/build.rs:305,1
    - Dst: to_string
      Src: /src/td-shim/xtask/src/build.rs:305,1
    - Dst: Features::push
      Src: /src/td-shim/xtask/src/build.rs:311,1
    - Dst: unwrap_or
      Src: /src/td-shim/xtask/src/build.rs:312,1
    - Dst: debug_feature
      Src: /src/td-shim/xtask/src/build.rs:312,1
    - Dst: to_string
      Src: /src/td-shim/xtask/src/build.rs:312,1
    - Dst: Features::join
      Src: /src/td-shim/xtask/src/build.rs:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 320
    functionName: BuildArgs::features
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - to_string
    - Features::join
    - map
    - split
    - Features::push
    - debug_feature
    - relase_feature
    - unwrap_or
    - '&[u8]::to_string'
    - collect
    linkageType: ''
    returnType: String
    signature: fn features(&self) -> String
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/xtask/src/build.rs:323,1
    - Dst: unwrap_or
      Src: /src/td-shim/xtask/src/build.rs:323,1
    - Dst: PathBuf::is_absolute
      Src: /src/td-shim/xtask/src/build.rs:330,1
    - Dst: PathBuf::to_path_buf
      Src: /src/td-shim/xtask/src/build.rs:331,1
    - Dst: env::current_dir
      Src: /src/td-shim/xtask/src/build.rs:333,1
    - Dst: join
      Src: /src/td-shim/xtask/src/build.rs:333,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: BuildArgs::output
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 2
    functionsReached:
    - as_ref
    - PathBuf::to_path_buf
    - env::current_dir
    - join
    - anyhow::Ok
    - unwrap_or
    - PathBuf::is_absolute
    linkageType: ''
    returnType: Result
    signature: fn output(&self) -> Result<PathBuf>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/xtask/src/build.rs:339,1
    - Dst: ok_or
      Src: /src/td-shim/xtask/src/build.rs:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 342
    functionName: BuildArgs::enroll_key_hash_alg
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 1
    functionsReached:
    - ok_or
    - clone
    linkageType: ''
    returnType: Result
    signature: fn enroll_key_hash_alg(&self) -> Result<String>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Shell::new
      Src: /src/td-shim/xtask/src/build.rs:345,1
    - Dst: args
      Src: /src/td-shim/xtask/src/build.rs:346,1
    - Dst: run
      Src: /src/td-shim/xtask/src/build.rs:346,1
    - Dst: anyhow::Ok
      Src: /src/td-shim/xtask/src/build.rs:353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: BuildArgs::strip
    functionSourceFile: /src/td-shim/xtask/src/build.rs
    functionUses: 0
    functionsReached:
    - run
    - args
    - Shell::new
    - anyhow::Ok
    linkageType: ''
    returnType: Result
    signature: 'fn strip(name: &str) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 53
    functionName: SliceType::as_str
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static str'
    signature: pub fn as_str(&self) -> &'static str
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: SliceType::fmt
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-layout/src/memslice.rs:68,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-layout/src/memslice.rs:72,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-layout/src/memslice.rs:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - t
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: get_mem_slice
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 4
    functionsReached:
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&''a [u8]'
    signature: 'pub fn get_mem_slice<''a>(t: SliceType) -> &''a [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: get_mem_slice_mut
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 8
    functionsReached:
    - core::slice::from_raw_parts_mut
    linkageType: ''
    returnType: '&''a mut [u8]'
    signature: 'pub unsafe fn get_mem_slice_mut<''a>(t: SliceType) -> &''a mut [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: test::test_get_mem_slice_with_type_config
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_config()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: test::test_get_mem_slice_with_type_builtin_payload
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_builtin_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: test::test_get_mem_slice_with_type_payload
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: test::test_get_mem_slice_with_type_payloadhob
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_payloadhob()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: test::test_get_mem_slice_with_type_mailbox
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_mailbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: test::test_get_mem_slice_with_type_eventlog
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_eventlog()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice
      Src: /src/td-shim/td-layout/src/memslice.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: test::test_get_mem_slice_with_type_acpi
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_with_type_acpi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: test::test_get_mem_slice_mut_with_type_mailbox
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_mailbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: test::test_get_mem_slice_mut_with_type_builtin_payload
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_builtin_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: test::test_get_mem_slice_mut_with_type_config
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_config()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: test::test_get_mem_slice_mut_with_type_payloadhob
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_payloadhob()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: test::test_get_mem_slice_mut_with_type_eventlog
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_eventlog()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: test::test_get_mem_slice_mut_with_type_acpi
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_acpi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mem_slice_mut
      Src: /src/td-shim/td-layout/src/memslice.rs:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: test::test_get_mem_slice_mut_with_type_payload
    functionSourceFile: /src/td-shim/td-layout/src/memslice.rs
    functionUses: 0
    functionsReached:
    - get_mem_slice_mut
    linkageType: ''
    returnType: void
    signature: fn test_get_mem_slice_mut_with_type_payload()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: LayoutRegion::default
    functionSourceFile: /src/td-shim/td-layout/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::iter
      Src: /src/td-shim/td-layout/src/lib.rs:60,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/td-layout/src/lib.rs:60,1
    - Dst: TestResult::sum
      Src: /src/td-shim/td-layout/src/lib.rs:60,1
    - Dst: Result::len
      Src: /src/td-shim/td-layout/src/lib.rs:61,1
    - Dst: LayoutRegion::default
      Src: /src/td-shim/td-layout/src/lib.rs:65,1
    - Dst: Result::iter
      Src: /src/td-shim/td-layout/src/lib.rs:69,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/td-shim/td-layout/src/lib.rs:69,1
    - Dst: Some
      Src: /src/td-shim/td-layout/src/lib.rs:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 2
    argNames:
    - tolm
    - config
    argTypes:
    - usize
    - '&[LayoutConfig]'
    constantsTouched: []
    func_position:
      end: 86
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 86
    functionName: RuntimeMemoryLayout::new
    functionSourceFile: /src/td-shim/td-layout/src/lib.rs
    functionUses: 1
    functionsReached:
    - Result::iter
    - Result::len
    - Some
    - Self::IntoIter::enumerate
    - LayoutRegion::default
    - TestResult::sum
    - Self::IntoIter::map
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(tolm: usize, config: &[LayoutConfig]) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice
      Src: /src/td-shim/td-layout/src/lib.rs:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: RuntimeMemoryLayout::regions
    functionSourceFile: /src/td-shim/td-layout/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    linkageType: ''
    returnType: '&[LayoutRegion]'
    signature: pub fn regions(&self) -> &[LayoutRegion]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/td-layout/src/lib.rs:93,1
    - Dst: find
      Src: /src/td-shim/td-layout/src/lib.rs:93,1
    - Dst: String::as_str
      Src: /src/td-shim/td-layout/src/lib.rs:95,1
    - Dst: copied
      Src: /src/td-shim/td-layout/src/lib.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: RuntimeMemoryLayout::get_region
    functionSourceFile: /src/td-shim/td-layout/src/lib.rs
    functionUses: 0
    functionsReached:
    - find
    - copied
    - String::as_str
    - iter
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_region(&self, name: SliceType) -> Option<LayoutRegion>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RuntimeMemoryLayout::get_region
      Src: /src/td-shim/td-layout/src/lib.rs:100,1
    - Dst: Some
      Src: /src/td-shim/td-layout/src/lib.rs:102,1
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-layout/src/lib.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: RuntimeMemoryLayout::get_mem_slice
    functionSourceFile: /src/td-shim/td-layout/src/lib.rs
    functionUses: 0
    functionsReached:
    - core::slice::from_raw_parts
    - Some
    - RuntimeMemoryLayout::get_region
    linkageType: ''
    returnType: Option
    signature: 'pub unsafe fn get_mem_slice(&self, name: SliceType) -> Option<&''static
      [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RuntimeMemoryLayout::get_region
      Src: /src/td-shim/td-layout/src/lib.rs:110,1
    - Dst: Some
      Src: /src/td-shim/td-layout/src/lib.rs:112,1
    - Dst: core::slice::from_raw_parts_mut
      Src: /src/td-shim/td-layout/src/lib.rs:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - SliceType
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: RuntimeMemoryLayout::get_mem_slice_mut
    functionSourceFile: /src/td-shim/td-layout/src/lib.rs
    functionUses: 0
    functionsReached:
    - core::slice::from_raw_parts_mut
    - Some
    - RuntimeMemoryLayout::get_region
    linkageType: ''
    returnType: Option
    signature: 'pub unsafe fn get_mem_slice_mut(&self, name: SliceType) -> Option<&''static
      mut [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: TdxMpWakeupMailbox::default
    functionSourceFile: /src/td-shim/td-layout/src/mailbox.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-layout/src/mailbox.rs:31,1
    - Dst: core::mem::size_of::<Self>
      Src: /src/td-shim/td-layout/src/mailbox.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: TdxMpWakeupMailbox::as_bytes
    functionSourceFile: /src/td-shim/td-layout/src/mailbox.rs
    functionUses: 0
    functionsReached:
    - core::mem::size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: tests::ensure_data_struct_size
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn ensure_data_struct_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdxMpWakeupMailbox::default
      Src: /src/td-shim/td-layout/src/mailbox.rs:59,1
    - Dst: Self::as_bytes
      Src: /src/td-shim/td-layout/src/mailbox.rs:60,1
    - Dst: pread
      Src: /src/td-shim/td-layout/src/mailbox.rs:63,1
    - Dst: unwrap
      Src: /src/td-shim/td-layout/src/mailbox.rs:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: tests::test_tdx_mp_wakeup_mailbox
    functionSourceFile: /src/td-shim/td-layout/src/mailbox.rs
    functionUses: 0
    functionsReached:
    - Self::as_bytes
    - pread
    - TdxMpWakeupMailbox::default
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn test_tdx_mp_wakeup_mailbox()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: TdxMetadataDescriptor::default
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sections
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: TdxMetadataDescriptor::set_sections
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_sections(&mut self, sections: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: TdxMetadataDescriptor::is_valid
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::slice::from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:121,1
    - Dst: core::mem::size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: TdxMetadataDescriptor::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - core::mem::size_of::<Self>
    - core::slice::from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:145,1
    - Dst: String::from
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - r#type
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: TdxMetadataSection::get_type_name
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 1
    functionsReached:
    - String::from
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_type_name(r#type: u32) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:170,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: TdxMetadataGuid::is_valid
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Guid::from_str
    - Result::unwrap
    linkageType: ''
    returnType: bool
    signature: pub fn is_valid(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: TdxMetadataGuid::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - as_bytes
    linkageType: ''
    returnType: '&[u8; 16]'
    signature: pub fn as_bytes(&self) -> &[u8; 16]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Guid::from_bytes
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:184,1
    - Dst: is_valid
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:186,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8; 16]'
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: TdxMetadataGuid::from_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Some
    - Guid::from_bytes
    - is_valid
    linkageType: ''
    returnType: Option
    signature: 'pub fn from_bytes(buffer: &[u8; 16]) -> Option<TdxMetadataGuid>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:197,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: TdxMetadataGuid::default
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Guid::from_str
    - Result::unwrap
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[TdxMetadataSection]::iter'
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:234,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:240,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:244,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:248,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:250,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:256,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:267,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:270,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:272,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:278,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:287,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:291,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:294,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:297,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:299,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:305,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:312,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:315,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:317,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:323,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:334,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:338,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:342,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:344,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:350,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:359,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:363,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:367,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:369,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:375,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:383,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:387,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:390,1
    - Dst: check_data_memory_fields
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:392,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:398,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:405,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:409,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:412,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:415,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:423,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:430,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:434,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:437,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:440,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:448,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:453,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:460,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:465,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:469,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:476,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:483,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:486,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 404
    argCount: 1
    argNames:
    - sections
    argTypes:
    - '&[TdxMetadataSection]'
    constantsTouched: []
    func_position:
      end: 487
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 487
    functionName: validate_sections
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 1
    functionsReached:
    - '&[TdxMetadataSection]::iter'
    - check_data_memory_fields
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn validate_sections(sections: &[TdxMetadataSection]) -> Result<(),
      TdxMetadataError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:498,1
    - Dst: core::mem::size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: TdxMetadataPtr::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 2
    functionsReached:
    - core::mem::size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdxMetadataDescriptor::default
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:521,1
    - Dst: Self::set_sections
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 535
    functionName: tests::test_tdx_metadata_descriptor
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - Self::set_sections
    - TdxMetadataDescriptor::default
    linkageType: ''
    returnType: void
    signature: fn test_tdx_metadata_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdxMetadataGuid::default
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:547,1
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:553,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:553,1
    - Dst: TdxMetadataGuid::from_bytes
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:556,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 560
    functionName: tests::test_tdx_metadata_guid
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - TdxMetadataGuid::from_bytes
    - TdxMetadataGuid::default
    - Option::unwrap
    - unwrap
    - pread
    linkageType: ''
    returnType: void
    signature: fn test_tdx_metadata_guid()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 578
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 578
    functionName: tests::test_tdx_metadata_section
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_tdx_metadata_section()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TdxMetadataSection::default
      Src: /src/td-shim/td-shim-interface/src/metadata.rs:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 416
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 837
    functionName: tests::test_validate_sections
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached:
    - TdxMetadataSection::default
    linkageType: ''
    returnType: void
    signature: fn test_validate_sections()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: tests::test_tdxmetadataptr
    functionSourceFile: /src/td-shim/td-shim-interface/src/metadata.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_tdxmetadataptr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/td-shim-interface/src/loader.rs:24,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-interface/src/loader.rs:41,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/loader.rs:41,1
    - Dst: TdxMetadataGuid::from_bytes
      Src: /src/td-shim/td-shim-interface/src/loader.rs:45,1
    - Dst: is_none
      Src: /src/td-shim/td-shim-interface/src/loader.rs:46,1
    - Dst: pread::<TdxMetadataDescriptor>
      Src: /src/td-shim/td-shim-interface/src/loader.rs:57,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/loader.rs:57,1
    - Dst: is_valid
      Src: /src/td-shim/td-shim-interface/src/loader.rs:58,1
    - Dst: Vec::new
      Src: /src/td-shim/td-shim-interface/src/loader.rs:75,1
    - Dst: pread::<TdxMetadataSection>
      Src: /src/td-shim/td-shim-interface/src/loader.rs:83,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/loader.rs:83,1
    - Dst: MetadataSections::push
      Src: /src/td-shim/td-shim-interface/src/loader.rs:84,1
    - Dst: metadata::validate_sections
      Src: /src/td-shim/td-shim-interface/src/loader.rs:99,1
    - Dst: Result::is_err
      Src: /src/td-shim/td-shim-interface/src/loader.rs:99,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/loader.rs:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 138
    argCount: 1
    argNames:
    - binary_file
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 105
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 105
    functionName: TdShimLoader::parse
    functionSourceFile: /src/td-shim/td-shim-interface/src/loader.rs
    functionUses: 0
    functionsReached:
    - TdxMetadataGuid::from_bytes
    - MetadataSections::push
    - metadata::validate_sections
    - Result::is_err
    - is_none
    - unwrap
    - Vec::new
    - Result::len
    - try_into
    - Some
    - pread::<TdxMetadataDescriptor>
    - pread::<TdxMetadataSection>
    - is_valid
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(binary_file: &[u8]) -> Option<(TdxMetadataDescriptor,
      Vec<TdxMetadataSection>)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:18,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:18,1
    - Dst: wrapping_add
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:18,1
    - Dst: wrapping_add
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: calculate_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 3
    functionsReached:
    - wrapping_add
    - Self::IntoIter::fold
    - iter
    linkageType: ''
    returnType: u8
    signature: 'pub fn calculate_checksum(data: &[u8]) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<Rsdp>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:42,1
    - Dst: Default::default
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:44,1
    - Dst: checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - xsdt_addr
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 48
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 48
    functionName: Rsdp::new
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 1
    functionsReached:
    - checksum
    - size_of::<Rsdp>
    - Default::default
    linkageType: ''
    returnType: Rsdp
    signature: 'pub fn new(xsdt_addr: u64) -> Rsdp'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rsdp::checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - xsdt
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: Rsdp::set_xsdt
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - Rsdp::checksum
    linkageType: ''
    returnType: void
    signature: 'pub fn set_xsdt(&mut self, xsdt: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calculate_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:58,1
    - Dst: Rsdp::as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:58,1
    - Dst: calculate_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:59,1
    - Dst: Rsdp::as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: Rsdp::checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 1
    functionsReached:
    - calculate_checksum
    - Rsdp::as_bytes
    linkageType: ''
    returnType: void
    signature: fn checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from_le_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:85,1
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - signature
    - length
    - revision
    argTypes:
    - '&[u8; 4]'
    - u32
    - u8
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: GenericSdtHeader::new
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 2
    functionsReached:
    - u64::from_le_bytes
    - u32::from_le_bytes
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(signature: &[u8; 4], length: u32, revision: u8) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - checksum
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: GenericSdtHeader::set_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub fn set_checksum(&mut self, checksum: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:107,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: Xsdt::new
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 1
    functionsReached:
    - GenericSdtHeader::new
    - size_of::<GenericSdtHeader>
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:113,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:114,1
    - Dst: size_of::<GenericSdtHeader>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:117,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:117,1
    - Dst: size_of::<u64>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:120,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:121,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 1
    argNames:
    - addr
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: Xsdt::add_table
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - Ok
    - size_of::<u64>
    - Err
    - size_of::<GenericSdtHeader>
    linkageType: ''
    returnType: Result
    signature: 'pub fn add_table(&mut self, addr: u64) -> Result<(), Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:129,1
    - Dst: set_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:130,1
    - Dst: calculate_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:130,1
    - Dst: Xsdt::as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: Xsdt::checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - Xsdt::as_bytes
    - calculate_checksum
    - set_checksum
    linkageType: ''
    returnType: void
    signature: pub fn checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: GenericSdtHeader::new
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:150,1
    - Dst: size_of::<Ccel>
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:150,1
    - Dst: checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - cc_type
    - cc_subtype
    - laml
    - lasa
    argTypes:
    - u8
    - u8
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: Ccel::new
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 1
    functionsReached:
    - GenericSdtHeader::new
    - checksum
    - size_of::<Ccel>
    linkageType: ''
    returnType: Ccel
    signature: 'pub fn new(cc_type: u8, cc_subtype: u8, laml: u64, lasa: u64) -> Ccel'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:163,1
    - Dst: calculate_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:164,1
    - Dst: Ccel::as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: Ccel::checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - Ccel::as_bytes
    - calculate_checksum
    - set_checksum
    linkageType: ''
    returnType: void
    signature: pub fn checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calculate_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:176,1
    - Dst: iter
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:177,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:177,1
    - Dst: '&[u8]::wrapping_add'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:177,1
    - Dst: calculate_checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:183,1
    - Dst: iter
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:184,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:184,1
    - Dst: '&[u8]::wrapping_add'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: tests::test_calculate_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::wrapping_add'
    - Self::IntoIter::fold
    - calculate_checksum
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_calculate_checksum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Rsdp::new
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:190,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:191,1
    - Dst: iter
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:191,1
    - Dst: fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:191,1
    - Dst: '&[u8]::wrapping_add'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:193,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:195,1
    - Dst: '&[u8]::iter'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:195,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:195,1
    - Dst: '&[u8]::wrapping_add'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:195,1
    - Dst: set_xsdt
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:198,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:199,1
    - Dst: iter
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:199,1
    - Dst: fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:199,1
    - Dst: '&[u8]::wrapping_add'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:201,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:203,1
    - Dst: '&[u8]::iter'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:203,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:203,1
    - Dst: '&[u8]::wrapping_add'
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: tests::test_rsdp
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::iter'
    - fold
    - Rsdp::new
    - Self::IntoIter::fold
    - '&[u8]::wrapping_add'
    - set_xsdt
    - as_bytes
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_rsdp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Xsdt::new
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:210,1
    - Dst: checksum
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: tests::test_xsdt
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - checksum
    - Xsdt::new
    linkageType: ''
    returnType: void
    signature: fn test_xsdt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ccel::new
      Src: /src/td-shim/td-shim-interface/src/acpi.rs:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: tests::test_ccel
    functionSourceFile: /src/td-shim/td-shim-interface/src/acpi.rs
    functionUses: 0
    functionsReached:
    - Ccel::new
    linkageType: ''
    returnType: void
    signature: fn test_ccel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:29,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - cap
    - offset
    - length
    argTypes:
    - usize
    - usize
    - u16
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: align_to_next_hob_offset
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 3
    functionsReached:
    - checked_add
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn align_to_next_hob_offset(cap: usize, offset: usize, length:
      u16) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:40,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:40,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:41,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:41,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&''_ [u8]'
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: seek_to_next_hob
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 2
    functionsReached:
    - len
    - Some
    - ok
    - pread
    - align_to_next_hob_offset
    linkageType: ''
    returnType: Option
    signature: 'pub fn seek_to_next_hob(hob_list: &''_ [u8]) -> Option<&''_ [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:48,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:48,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:51,1
    - Dst: Result::checked_sub
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:53,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:53,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - hob
    - hob_length
    argTypes:
    - '&[u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 61
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 61
    functionName: check_hob_length
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - Option::pread
    - size_of::<HandoffInfoTable>
    - Some
    - Result::checked_sub
    - Option::as_ptr
    - ok
    linkageType: ''
    returnType: Option
    signature: 'pub fn check_hob_length(hob: &[u8], hob_length: usize) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:67,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:70,1
    - Dst: speculation_barrier
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:73,1
    - Dst: checked_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:77,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:77,1
    - Dst: speculation_barrier
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:80,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:82,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:82,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:85,1
    - Dst: speculation_barrier
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:88,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:92,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:93,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:97,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:97,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:109,1
    - Dst: check_hob_length
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:111,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:114,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:117,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:117,1
    - Dst: dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:122,1
    - Dst: checked_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:126,1
    - Dst: size_of::<MemoryAllocation>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:131,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:136,1
    - Dst: size_of::<FirmwareVolume2>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:141,1
    - Dst: size_of::<FirmwareVolume3>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:146,1
    - Dst: size_of::<Cpu>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:151,1
    - Dst: size_of::<Cpu>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:152,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:157,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:157,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:169,1
    - Dst: speculation_barrier
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:170,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 180
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 172
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 172
    functionName: check_hob_integrity
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 1
    functionsReached:
    - Option::pread
    - len
    - size_of::<Header>
    - speculation_barrier
    - check_hob_length
    - Option::len
    - size_of::<FirmwareVolume2>
    - dump
    - align_to_next_hob_offset
    - size_of::<MemoryAllocation>
    - size_of::<HandoffInfoTable>
    - size_of::<FirmwareVolume>
    - size_of::<FirmwareVolume3>
    - size_of::<ResourceDescription>
    - ok
    - checked_add
    - size_of::<Cpu>
    linkageType: ''
    returnType: Option
    signature: 'pub fn check_hob_integrity(hob_list: &[u8]) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:180,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:180,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:184,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:184,1
    - Dst: dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:185,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:188,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:188,1
    - Dst: dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:189,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:192,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:192,1
    - Dst: dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:193,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:196,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:196,1
    - Dst: dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:197,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:200,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:200,1
    - Dst: dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:201,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:203,1
    - Dst: Option::dump
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:204,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:207,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 209
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 209
    functionName: dump_hob
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 1
    functionsReached:
    - Option::pread
    - len
    - dump
    - Some
    - ok
    - align_to_next_hob_offset
    - Option::dump
    linkageType: ''
    returnType: Option
    signature: 'pub fn dump_hob(hob_list: &[u8]) -> Option<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:220,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:220,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:224,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:224,1
    - Dst: checked_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:226,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:238,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:238,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: get_system_memory_size_below_4gb
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - Option::pread
    - len
    - Some
    - ok
    - checked_add
    - align_to_next_hob_offset
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_system_memory_size_below_4gb(hob_list: &[u8]) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:251,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:251,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:255,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:255,1
    - Dst: checked_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:260,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:271,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:271,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 275
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 275
    functionName: get_total_memory_top
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - Option::pread
    - len
    - Some
    - ok
    - checked_add
    - align_to_next_hob_offset
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_total_memory_top(hob_list: &[u8]) -> Option<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:282,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:282,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:285,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:285,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:286,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:291,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 295
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 295
    functionName: get_fv
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - Option::pread
    - len
    - Some
    - ok
    - align_to_next_hob_offset
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_fv(hob_list: &[u8]) -> Option<FirmwareVolume>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:303,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:303,1
    - Dst: Option::pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:307,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:307,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:309,1
    - Dst: align_to_next_hob_offset
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:315,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - hob_list
    - guid
    argTypes:
    - '&''a [u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 318
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 318
    functionName: get_next_extension_guid_hob
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 3
    functionsReached:
    - Option::pread
    - len
    - Some
    - ok
    - align_to_next_hob_offset
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_next_extension_guid_hob<''a>(hob_list: &''a [u8], guid:
      &[u8]) -> Option<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:322,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:322,1
    - Dst: size_of::<GuidExtension>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:323,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:326,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - hob_list
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: get_guid_data
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 5
    functionsReached:
    - len
    - size_of::<GuidExtension>
    - Some
    - ok
    - pread
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_guid_data(hob_list: &[u8]) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 359
    functionName: tests::test_align_to_next_hob
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_align_to_next_hob()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<MemoryAllocation>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:368,1
    - Dst: as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:378,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:387,1
    - Dst: size_of::<Cpu>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 409
    functionName: tests::test_dump_hob
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - as_bytes
    - size_of::<MemoryAllocation>
    - size_of::<FirmwareVolume>
    - size_of::<Cpu>
    linkageType: ''
    returnType: void
    signature: fn test_dump_hob()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:415,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:430,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:430,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:430,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:433,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:433,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:437,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:437,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:437,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:443,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:457,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:457,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:457,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:463,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:477,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:477,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 479
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 479
    functionName: tests::test_check_hob_length
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_ptr'
    - Option::as_bytes
    - size_of::<HandoffInfoTable>
    linkageType: ''
    returnType: void
    signature: fn test_check_hob_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::to_vec
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:485,1
    - Dst: Vec::as_ptr
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:486,1
    - Dst: Vec::len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:487,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:487,1
    - Dst: size_of::<HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:488,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:488,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:489,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 494
    functionName: tests::test_check_hob_integrity
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - Option::to_vec
    - Vec::len
    - size_of::<HandoffInfoTable>
    - Vec::as_ptr
    - u64::to_le_bytes
    - Option::len
    linkageType: ''
    returnType: void
    signature: fn test_check_hob_integrity()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 501
    functionName: tests::test_get_total_memory_top
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_get_total_memory_top()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: tests::test_seek_to_next_hob
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_seek_to_next_hob()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:518,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:528,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:530,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:533,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:533,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:537,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:547,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:549,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:552,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:552,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:552,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:560,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:560,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:562,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:563,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:563,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:562,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:580,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:582,1
    - Dst: size_of::<ResourceDescription>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:585,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 587
    functionName: tests::test_get_system_memory_size_below_4gb
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Header>
    - slice_from_raw_parts
    - copy_from_slice
    - size_of::<ResourceDescription>
    linkageType: ''
    returnType: void
    signature: fn test_get_system_memory_size_below_4gb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:597,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:604,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:606,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:609,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:609,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:616,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:616,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:618,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:618,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:618,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:618,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:632,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:634,1
    - Dst: size_of::<FirmwareVolume>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:637,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 639
    functionName: tests::test_get_fv
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - slice_from_raw_parts
    - size_of::<Header>
    - size_of::<FirmwareVolume>
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_get_fv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Guid::from_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:643,1
    - Dst: size_of::<GuidExtension>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:650,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:656,1
    - Dst: size_of::<GuidExtension>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:658,1
    - Dst: size_of::<GuidExtension>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:662,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:662,1
    - Dst: slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:669,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:669,1
    - Dst: size_of::<GuidExtension>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:671,1
    - Dst: size_of::<GuidExtension>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:671,1
    - Dst: size_of::<Header>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:671,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:671,1
    - Dst: get_next_extension_guid_hob
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:673,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:673,1
    - Dst: get_guid_data
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:674,1
    - Dst: Option::unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 676
    functionName: tests::test_get_guid
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Header>
    - copy_from_slice
    - Option::unwrap
    - get_next_extension_guid_hob
    - get_guid_data
    - Guid::from_bytes
    - size_of::<GuidExtension>
    - slice_from_raw_parts
    linkageType: ''
    returnType: void
    signature: fn test_get_guid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::pread'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:24,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:24,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:30,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:33,1
    - Dst: Option::validate_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:34,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - fv_data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 39
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 39
    functionName: read_fv_header
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - Option::validate_checksum
    - '&[u8]::pread'
    - '&[u8]::len'
    - Some
    - ok
    linkageType: ''
    returnType: Option
    signature: 'pub fn read_fv_header(fv_data: &[u8]) -> Option<FirmwareVolumeHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::validate_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - FfsFileHeader
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: validate_ffs_file_header
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - Option::validate_checksum
    linkageType: ''
    returnType: bool
    signature: 'pub fn validate_ffs_file_header(header: FfsFileHeader) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fv_header
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:57,1
    - Dst: Files::parse
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:59,1
    - Dst: validate
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:61,1
    - Dst: r#type
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:64,1
    - Dst: get_image_from_sections
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - fv_data
    - fv_file_type
    - section_type
    argTypes:
    - '&[u8]'
    - FvFileType
    - SectionType
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: get_image_from_fv
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 1
    functionsReached:
    - Files::parse
    - get_image_from_sections
    - read_fv_header
    - r#type
    - validate
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_image_from_fv(fv_data: &[u8],fv_file_type: FvFileType,section_type:
      SectionType,) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fv_header
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:77,1
    - Dst: Files::parse
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:79,1
    - Dst: validate
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:81,1
    - Dst: r#type
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:84,1
    - Dst: name
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:84,1
    - Dst: Guid::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:84,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - fv_data
    - fv_file_type
    - file_name
    argTypes:
    - '&[u8]'
    - FvFileType
    - Guid
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: get_file_from_fv
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 3
    functionsReached:
    - Files::parse
    - name
    - read_fv_header
    - Guid::as_bytes
    - Some
    - r#type
    - validate
    linkageType: ''
    returnType: Option
    signature: 'pub fn get_file_from_fv(fv_data: &[u8],fv_file_type: FvFileType,file_name:
      Guid,) -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Sections::parse
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:93,1
    - Dst: r#type
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:96,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sections_data
    - section_type
    argTypes:
    - '&[u8]'
    - SectionType
    constantsTouched: []
    func_position:
      end: 102
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 102
    functionName: get_image_from_sections
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 1
    functionsReached:
    - Some
    - r#type
    - Sections::parse
    linkageType: ''
    returnType: Option
    signature: 'fn get_image_from_sections(sections_data: &[u8], section_type: SectionType)
      -> Option<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: CommonSectionHeaderType::r#type
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FvFileType
    signature: fn r#type(&self) -> FvFileType
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: FfsFileHeaderType::r#type
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FvFileType
    signature: fn r#type(&self) -> FvFileType
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: FfsFileHeaderType::name
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn name(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::validate_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:200,1
    - Dst: validate_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: FfsFileHeaderType::validate
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - validate_checksum
    - Option::validate_checksum
    linkageType: ''
    returnType: bool
    signature: fn validate(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a [u8]::len'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:212,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - fv_buffer
    - fv_header_size
    argTypes:
    - '&''a [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: Files::parse
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 2
    functionsReached:
    - '&''a [u8]::len'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn parse(fv_buffer: &''a [u8], fv_header_size: usize) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:226,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:226,1
    - Dst: pread
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:230,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:230,1
    - Dst: FfsFileHeaderType::Header2
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:233,1
    - Dst: core::mem::size_of::<FfsFileHeader2>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:234,1
    - Dst: FfsFileHeaderType::Header
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:241,1
    - Dst: core::mem::size_of::<FfsFileHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:242,1
    - Dst: checked_sub
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:246,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:247,1
    - Dst: checked_sub
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:247,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:252,1
    - Dst: Some
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 259
    functionName: Files::next
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - len
    - checked_sub
    - core::mem::size_of::<FfsFileHeader2>
    - FfsFileHeaderType::Header
    - core::mem::size_of::<FfsFileHeader>
    - Some
    - ok
    - pread
    - FfsFileHeaderType::Header2
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_image_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: test::test_get_image_from_fv
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - get_image_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_image_from_fv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_image_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:310,1
    - Dst: '&[u8]::as_bytes'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: test::test_get_image_from_fv_with_wrong_signature
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_bytes'
    - get_image_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_image_from_fv_with_wrong_signature()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_image_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: test::test_get_image_from_fv_with_wrong_fv_file_type
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - get_image_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_image_from_fv_with_wrong_fv_file_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_image_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: test::test_get_image_from_fv_with_wrong_section_type
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - get_image_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_image_from_fv_with_wrong_section_type()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_file_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: test::test_get_file_from_fv
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - get_file_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_file_from_fv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_file_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:359,1
    - Dst: '&[u8]::as_bytes'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: test::test_get_file_from_fv_with_wrong_signature
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::as_bytes'
    - get_file_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_file_from_fv_with_wrong_signature()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_file_from_fv
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: test::test_get_file_from_fv_with_wrong_guid
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - get_file_from_fv
    linkageType: ''
    returnType: void
    signature: fn test_get_file_from_fv_with_wrong_guid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FirmwareVolumeHeader::default
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:377,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:382,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:384,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:385,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:385,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:385,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:390,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:390,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:390,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:395,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:396,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:396,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:396,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:400,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:402,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:403,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:403,1
    - Dst: Option::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 405
    functionName: test::test_read_fvh
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
    functionUses: 0
    functionsReached:
    - Option::as_bytes
    - copy_from_slice
    - Option::update_checksum
    - size_of::<FirmwareVolumeHeader>
    - FirmwareVolumeHeader::default
    linkageType: ''
    returnType: void
    signature: fn test_read_fvh()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: Header::dump
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:52,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: Header::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 2
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 112
    functionName: HandoffInfoTable::dump
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:115,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: HandoffInfoTable::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:135,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: MemoryAllocationHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: MemoryAllocation::dump
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:160,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: MemoryAllocation::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: ResourceDescription::dump
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:193,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: ResourceDescription::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: FirmwareVolume::dump
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:275,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: FirmwareVolume::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:295,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: FirmwareVolume2::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:317,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: FirmwareVolume3::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: Cpu::dump
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pub fn dump(&self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:344,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: Cpu::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:363,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: GuidExtension::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: tests::test_size_of_struct
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_size_of_struct()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:41,1
    - Dst: iter
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:42,1
    - Dst: Self::IntoIter::take
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:42,1
    - Dst: u8::wrapping_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: sum8
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - len
    - Self::IntoIter::take
    - u8::wrapping_add
    - iter
    linkageType: ''
    returnType: u8
    signature: 'fn sum8(data: &[u8]) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:51,1
    - Dst: u8::wrapping_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:53,1
    - Dst: len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:55,1
    - Dst: u8::wrapping_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: sum16
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - len
    - u8::wrapping_add
    linkageType: ''
    returnType: u16
    signature: 'fn sum16(data: &[u8]) -> u16'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:86,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: FirmwareVolumeHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sum16
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:93,1
    - Dst: FirmwareVolumeHeader::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:93,1
    - Dst: wrapping_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: FirmwareVolumeHeader::update_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    - FirmwareVolumeHeader::as_bytes
    - sum16
    linkageType: ''
    returnType: void
    signature: pub fn update_checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sum16
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:98,1
    - Dst: FirmwareVolumeHeader::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: FirmwareVolumeHeader::validate_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FirmwareVolumeHeader::as_bytes
    - sum16
    linkageType: ''
    returnType: bool
    signature: pub fn validate_checksum(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:118,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: FvBlockMap::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:137,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: FirmwareVolumeExtHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:154,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: FirmwareVolumeExtEntry::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:252,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: FfsFileHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 1
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sum8
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:261,1
    - Dst: FfsFileHeader::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:261,1
    - Dst: wrapping_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 265
    functionName: FfsFileHeader::update_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FfsFileHeader::as_bytes
    - wrapping_add
    - sum8
    linkageType: ''
    returnType: void
    signature: pub fn update_checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffs_header_validate_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:269,1
    - Dst: FfsFileHeader::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: FfsFileHeader::validate_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FfsFileHeader::as_bytes
    - ffs_header_validate_checksum
    linkageType: ''
    returnType: bool
    signature: pub fn validate_checksum(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sum8
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:301,1
    - Dst: FfsFileHeader2::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:301,1
    - Dst: wrapping_add
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: FfsFileHeader2::update_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FfsFileHeader2::as_bytes
    - wrapping_add
    - sum8
    linkageType: ''
    returnType: void
    signature: pub fn update_checksum(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:308,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: FfsFileHeader2::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 1
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffs_header_validate_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:313,1
    - Dst: FfsFileHeader2::as_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: FfsFileHeader2::validate_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FfsFileHeader2::as_bytes
    - ffs_header_validate_checksum
    linkageType: ''
    returnType: bool
    signature: pub fn validate_checksum(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sum8
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: ffs_header_validate_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 2
    functionsReached:
    - sum8
    linkageType: ''
    returnType: bool
    signature: 'fn ffs_header_validate_checksum(bytes: &[u8]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:356,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: CommonSectionHeader::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:371,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: CommonSectionHeader2::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<Self>
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn as_bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FirmwareVolumeHeader::default
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:381,1
    - Dst: size_of::<FirmwareVolumeHeader>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:385,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:388,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 399
    functionName: tests::test_fvh_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - size_of::<FirmwareVolumeHeader>
    - FirmwareVolumeHeader::default
    - Option::update_checksum
    linkageType: ''
    returnType: void
    signature: fn test_fvh_checksum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FfsFileHeader::default
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:403,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:406,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 418
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 418
    functionName: tests::test_ffsh_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FfsFileHeader::default
    - Option::update_checksum
    linkageType: ''
    returnType: void
    signature: fn test_ffsh_checksum()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FfsFileHeader::default
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:422,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:423,1
    - Dst: FirmwareVolumeHeader::default
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:425,1
    - Dst: Option::update_checksum
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: tests::test_update_checksum
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
    functionUses: 0
    functionsReached:
    - FfsFileHeader::default
    - FirmwareVolumeHeader::default
    - Option::update_checksum
    linkageType: ''
    returnType: void
    signature: fn test_update_checksum()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - f0
    - f1
    - f2
    - f3
    argTypes:
    - u32
    - u16
    - u16
    - '[u8; 8]'
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: Guid::from_fields
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Guid
    signature: 'pub const fn from_fields(f0: u32, f1: u16, f2: u16, f3: [u8; 8]) ->
      Guid'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::ptr::slice_from_raw_parts
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:39,1
    - Dst: size_of::<Self>
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:39,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:39,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: Guid::as_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs
    functionUses: 5
    functionsReached:
    - try_into
    - size_of::<Self>
    - unwrap
    - core::ptr::slice_from_raw_parts
    linkageType: ''
    returnType: '&[u8; 16]'
    signature: pub fn as_bytes(&self) -> &[u8; 16]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from_le_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:46,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:46,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:46,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:47,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:47,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:47,1
    - Dst: u16::from_le_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:48,1
    - Dst: try_into
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:48,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:48,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8; 16]'
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: Guid::from_bytes
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs
    functionUses: 5
    functionsReached:
    - copy_from_slice
    - unwrap
    - u16::from_le_bytes
    - try_into
    - u32::from_le_bytes
    linkageType: ''
    returnType: Guid
    signature: 'pub fn from_bytes(buffer: &[u8; 16]) -> Guid'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::as_bytes'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:63,1
    - Dst: Option::len
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:64,1
    - Dst: Err
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:70,1
    - Dst: '&[u8]::as_bytes'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:74,1
    - Dst: '!::is_ascii_hexdigit'
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:75,1
    - Dst: u64::from_str_radix
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:79,1
    - Dst: ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:79,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:83,1
    - Dst: Result::ok_or
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:83,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:84,1
    - Dst: Result::ok_or
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:84,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:85,1
    - Dst: Result::ok_or
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:85,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:86,1
    - Dst: Result::ok_or
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:86,1
    - Dst: parse_hex
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:87,1
    - Dst: Result::ok_or
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:87,1
    - Dst: Ok
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:90,1
    - Dst: u64::to_be_bytes
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:94,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 96
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 96
    functionName: Guid::from_str
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs
    functionUses: 3
    functionsReached:
    - u64::to_be_bytes
    - '!::is_ascii_hexdigit'
    - Result::ok_or
    - ok
    - Ok
    - u64::from_str_radix
    - '&[u8]::as_bytes'
    - Option::len
    - parse_hex
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn from_str(s: &str) -> Result<Self, Self::Err>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Guid::from_fields
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:110,1
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:119,1
    - Dst: Result::unwrap
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:119,1
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:122,1
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:125,1
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:128,1
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:131,1
    - Dst: Guid::from_str
      Src: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 136
    functionName: test::test_guid
    functionSourceFile: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs
    functionUses: 0
    functionsReached:
    - Guid::from_str
    - Result::unwrap
    - Guid::from_fields
    linkageType: ''
    returnType: void
    signature: fn test_guid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::to_vec'
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:32,1
    - Dst: Vec::as_ptr
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:35,1
    - Dst: Vec::len
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:36,1
    - Dst: size_of::<pi::hob::HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:36,1
    - Dst: size_of::<pi::hob::HandoffInfoTable>
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:37,1
    - Dst: copy_from_slice
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:37,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:38,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:38,1
    - Dst: hob::check_hob_integrity
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:41,1
    - Dst: is_some
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:43,1
    - Dst: hob::dump_hob
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:44,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:44,1
    - Dst: hob::get_system_memory_size_below_4gb
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:45,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:45,1
    - Dst: hob::get_total_memory_top
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:46,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:46,1
    - Dst: hob::get_fv
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:47,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:47,1
    - Dst: hob::get_next_extension_guid_hob
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:48,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:48,1
    - Dst: hob::get_next_extension_guid_hob
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:49,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:49,1
    - Dst: hob::get_guid_data
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:50,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:50,1
    - Dst: hob::seek_to_next_hob
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:51,1
    - Dst: unwrap
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 65
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: fuzz_hob_parser
    functionSourceFile: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 0
    functionsReached:
    - is_some
    - copy_from_slice
    - hob::get_total_memory_top
    - Vec::len
    - hob::get_fv
    - unwrap
    - Vec::as_ptr
    - u64::to_le_bytes
    - hob::get_system_memory_size_below_4gb
    - '&[u8]::to_vec'
    - '&[u8]::len'
    - hob::check_hob_integrity
    - hob::seek_to_next_hob
    - hob::dump_hob
    - size_of::<pi::hob::HandoffInfoTable>
    - hob::get_next_extension_guid_hob
    - hob::get_guid_data
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_hob_parser(buffer: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fv::get_image_from_fv
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 5
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: fuzz_payload_parser
    functionSourceFile: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 0
    functionsReached:
    - fv::get_image_from_fv
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_payload_parser(data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fv::get_file_from_fv
      Src: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: fuzz_cfv_parser
    functionSourceFile: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs
    functionUses: 0
    functionsReached:
    - fv::get_file_from_fv
    linkageType: ''
    returnType: void
    signature: 'pub fn fuzz_cfv_parser(data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: println
      Src: /src/td-shim/library/ring/build.rs:38,1
    - Dst: std::env::var_os
      Src: /src/td-shim/library/ring/build.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: env::var_os
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - println
    - std::env::var_os
    linkageType: ''
    returnType: Option
    signature: 'pub fn var_os(name: &''static str) -> Option<OsString>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: var_os
      Src: /src/td-shim/library/ring/build.rs:43,1
    - Dst: Option::and_then
      Src: /src/td-shim/library/ring/build.rs:43,1
    - Dst: into_string
      Src: /src/td-shim/library/ring/build.rs:43,1
    - Dst: ok
      Src: /src/td-shim/library/ring/build.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - '&''static str'
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: env::var
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 5
    functionsReached:
    - ok
    - var_os
    - into_string
    - Option::and_then
    linkageType: ''
    returnType: Option
    signature: 'pub fn var(name: &''static str) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&cc::Tool::is_like_msvc'
      Src: /src/td-shim/library/ring/build.rs:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - compiler
    argTypes:
    - '&cc::Tool'
    constantsTouched: []
    func_position:
      end: 168
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 168
    functionName: cpp_flags
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 0
    functionsReached:
    - '&cc::Tool::is_like_msvc'
    linkageType: ''
    returnType: '&''static [&''static str]'
    signature: 'fn cpp_flags(compiler: &cc::Tool) -> &''static [&''static str]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/td-shim/library/ring/build.rs:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: AsmTarget::use_nasm
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: fn use_nasm(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env::var_os
      Src: /src/td-shim/library/ring/build.rs:306,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:306,1
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:307,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:309,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:309,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:310,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:310,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:311,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:311,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:312,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:312,1
    - Dst: fs::metadata
      Src: /src/td-shim/library/ring/build.rs:315,1
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:315,1
    - Dst: Option::is_ok
      Src: /src/td-shim/library/ring/build.rs:315,1
    - Dst: env::var
      Src: /src/td-shim/library/ring/build.rs:318,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/build.rs:318,1
    - Dst: iter
      Src: /src/td-shim/library/ring/build.rs:335,1
    - Dst: find
      Src: /src/td-shim/library/ring/build.rs:335,1
    - Dst: contains
      Src: /src/td-shim/library/ring/build.rs:336,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/build.rs:336,1
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:351,1
    - Dst: generate_sources_and_preassemble
      Src: /src/td-shim/library/ring/build.rs:353,1
    - Dst: into_iter
      Src: /src/td-shim/library/ring/build.rs:355,1
    - Dst: Self::clone
      Src: /src/td-shim/library/ring/build.rs:359,1
    - Dst: build_c_code
      Src: /src/td-shim/library/ring/build.rs:362,1
    - Dst: emit_rerun_if_changed
      Src: /src/td-shim/library/ring/build.rs:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 2
    argNames:
    - c_root_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 371
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 371
    functionName: ring_build_rs_main
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - Option::is_ok
    - find
    - Self::clone
    - as_ref
    - build_c_code
    - into_iter
    - Option::unwrap
    - env::var
    - generate_sources_and_preassemble
    - contains
    - PathBuf::from
    - '&Path::join'
    - iter
    - emit_rerun_if_changed
    - env::var_os
    - fs::metadata
    linkageType: ''
    returnType: void
    signature: 'fn ring_build_rs_main(c_root_dir: &Path, core_name_and_version: &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:374,1
    - Dst: fs::create_dir
      Src: /src/td-shim/library/ring/build.rs:375,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:375,1
    - Dst: generate_sources_and_preassemble
      Src: /src/td-shim/library/ring/build.rs:376,1
    - Dst: iter
      Src: /src/td-shim/library/ring/build.rs:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - c_root_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: pregenerate_asm_main
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - fs::create_dir
    - generate_sources_and_preassemble
    - unwrap
    - '&Path::join'
    - iter
    linkageType: ''
    returnType: void
    signature: 'fn pregenerate_asm_main(c_root_dir: &Path, core_name_and_version:
      &str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: generate_prefix_symbols_headers
      Src: /src/td-shim/library/ring/build.rs:390,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/build.rs:390,1
    - Dst: get_perl_exe
      Src: /src/td-shim/library/ring/build.rs:392,1
    - Dst: perlasm_src_dsts
      Src: /src/td-shim/library/ring/build.rs:395,1
    - Dst: perlasm
      Src: /src/td-shim/library/ring/build.rs:396,1
    - Dst: use_nasm
      Src: /src/td-shim/library/ring/build.rs:398,1
    - Dst: asm_srcs
      Src: /src/td-shim/library/ring/build.rs:402,1
    - Dst: nasm
      Src: /src/td-shim/library/ring/build.rs:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - out_dir
    - asm_targets
    - c_root_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - impl Iterator<Item = &'a AsmTarget>
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 408
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 408
    functionName: generate_sources_and_preassemble
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - Result::unwrap
    - perlasm
    - use_nasm
    - get_perl_exe
    - perlasm_src_dsts
    - asm_srcs
    - nasm
    - generate_prefix_symbols_headers
    linkageType: ''
    returnType: void
    signature: 'fn generate_sources_and_preassemble<''a>(out_dir: &Path,asm_targets:
      impl Iterator<Item = &''a AsmTarget>,c_root_dir: &Path,core_name_and_version:
      &str,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: perlasm_src_dsts
      Src: /src/td-shim/library/ring/build.rs:433,1
    - Dst: asm_srcs
      Src: /src/td-shim/library/ring/build.rs:435,1
    - Dst: Option<&AsmTarget>::use_nasm
      Src: /src/td-shim/library/ring/build.rs:437,1
    - Dst: Vec::iter
      Src: /src/td-shim/library/ring/build.rs:440,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/library/ring/build.rs:440,1
    - Dst: obj_path
      Src: /src/td-shim/library/ring/build.rs:442,1
    - Dst: as_path
      Src: /src/td-shim/library/ring/build.rs:442,1
    - Dst: "iter()\n                .map(|src| obj_path(generated_dir, src.as_path()))\n\
        \                .collect::<Vec<_>>"
      Src: /src/td-shim/library/ring/build.rs:440,1
    - Dst: sources_for_arch
      Src: /src/td-shim/library/ring/build.rs:452,1
    - Dst: Vec::into_iter
      Src: /src/td-shim/library/ring/build.rs:452,1
    - Dst: Self::IntoIter::filter
      Src: /src/td-shim/library/ring/build.rs:452,1
    - Dst: is_perlasm
      Src: /src/td-shim/library/ring/build.rs:454,1
    - Dst: filter
      Src: /src/td-shim/library/ring/build.rs:452,1
    - Dst: extension
      Src: /src/td-shim/library/ring/build.rs:456,1
    - Dst: "arch)\n        .into_iter()\n        .filter(|p| !is_perlasm(p))\n   \
        \     .filter(|p| {\n            if let Some(extension) = p.extension() {\n\
        \                // We don't (and can't) use any .S on Windows since MSVC\
        \ and NASM can't assemble\n                // them.\n                if extension\
        \ == \"S\"\n                    && (target.arch == X86_64 || target.arch ==\
        \ X86)\n                    && target.os == WINDOWS\n                {\n \
        \                   return false;\n                }\n            }\n    \
        \        true\n        })\n        .collect::<Vec<_>>"
      Src: /src/td-shim/library/ring/build.rs:452,1
    - Dst: iter
      Src: /src/td-shim/library/ring/build.rs:470,1
    - Dst: map
      Src: /src/td-shim/library/ring/build.rs:470,1
    - Dst: iter().map(PathBuf::from).collect::<Vec<_>>
      Src: /src/td-shim/library/ring/build.rs:470,1
    - Dst: String::from
      Src: /src/td-shim/library/ring/build.rs:480,1
    - Dst: iter
      Src: /src/td-shim/library/ring/build.rs:489,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/build.rs:489,1
    - Dst: Vec::iter
      Src: /src/td-shim/library/ring/build.rs:491,1
    - Dst: Self::IntoIter::chain
      Src: /src/td-shim/library/ring/build.rs:491,1
    - Dst: build_library
      Src: /src/td-shim/library/ring/build.rs:492,1
    - Dst: println
      Src: /src/td-shim/library/ring/build.rs:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 95
    argCount: 6
    argNames:
    - asm_target
    - target
    - generated_dir
    - c_root_dir
    - out_dir
    - core_name_and_version
    argTypes:
    - Option<&AsmTarget>
    - '&Target'
    - '&Path'
    - '&Path'
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 507
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 507
    functionName: build_c_code
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - Self::IntoIter::chain
    - Option<&AsmTarget>::use_nasm
    - Vec::iter
    - as_path
    - map
    - build_library
    - asm_srcs
    - "iter()\n                .map(|src| obj_path(generated_dir, src.as_path()))\n\
      \                .collect::<Vec<_>>"
    - for_each
    - println
    - sources_for_arch
    - obj_path
    - "arch)\n        .into_iter()\n        .filter(|p| !is_perlasm(p))\n        .filter(|p|\
      \ {\n            if let Some(extension) = p.extension() {\n                //\
      \ We don't (and can't) use any .S on Windows since MSVC and NASM can't assemble\n\
      \                // them.\n                if extension == \"S\"\n         \
      \           && (target.arch == X86_64 || target.arch == X86)\n             \
      \       && target.os == WINDOWS\n                {\n                    return\
      \ false;\n                }\n            }\n            true\n        })\n \
      \       .collect::<Vec<_>>"
    - iter().map(PathBuf::from).collect::<Vec<_>>
    - String::from
    - extension
    - is_perlasm
    - perlasm_src_dsts
    - Vec::into_iter
    - filter
    - iter
    - Self::IntoIter::filter
    - Self::IntoIter::map
    linkageType: ''
    returnType: void
    signature: 'fn build_c_code(asm_target: Option<&AsmTarget>,target: &Target,generated_dir:
      &Path,c_root_dir: &Path,out_dir: &Path,core_name_and_version: &str,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cc::Build::new
      Src: /src/td-shim/library/ring/build.rs:510,1
    - Dst: configure_cc
      Src: /src/td-shim/library/ring/build.rs:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - target
    - c_root_dir
    - include_dir
    argTypes:
    - '&Target'
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: new_build
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 0
    functionsReached:
    - cc::Build::new
    - configure_cc
    linkageType: ''
    returnType: cc::Build
    signature: 'fn new_build(target: &Target, c_root_dir: &Path, include_dir: &Path)
      -> cc::Build'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_build
      Src: /src/td-shim/library/ring/build.rs:524,1
    - Dst: Vec::for_each
      Src: /src/td-shim/library/ring/build.rs:527,1
    - Dst: '!::file'
      Src: /src/td-shim/library/ring/build.rs:528,1
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:528,1
    - Dst: '&[PathBuf]::iter'
      Src: /src/td-shim/library/ring/build.rs:531,1
    - Dst: Self::IntoIter::for_each
      Src: /src/td-shim/library/ring/build.rs:531,1
    - Dst: '!::object'
      Src: /src/td-shim/library/ring/build.rs:532,1
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:536,1
    - Dst: Self::join
      Src: /src/td-shim/library/ring/build.rs:536,1
    - Dst: '!::cargo_metadata'
      Src: /src/td-shim/library/ring/build.rs:539,1
    - Dst: '!::compile'
      Src: /src/td-shim/library/ring/build.rs:541,1
    - Dst: file_name
      Src: /src/td-shim/library/ring/build.rs:542,1
    - Dst: and_then
      Src: /src/td-shim/library/ring/build.rs:542,1
    - Dst: to_str
      Src: /src/td-shim/library/ring/build.rs:544,1
    - Dst: expect
      Src: /src/td-shim/library/ring/build.rs:542,1
    - Dst: println
      Src: /src/td-shim/library/ring/build.rs:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 37
    argCount: 7
    argNames:
    - target
    - c_root_dir
    - out_dir
    - lib_name
    - srcs
    - include_dir
    - preassembled_objs
    argTypes:
    - '&Target'
    - '&Path'
    - '&Path'
    - '&str'
    - impl Iterator<Item = &'a PathBuf>
    - '&Path'
    - '&[PathBuf]'
    constantsTouched: []
    func_position:
      end: 551
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 551
    functionName: build_library
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - '!::compile'
    - file_name
    - Self::join
    - new_build
    - Vec::for_each
    - to_str
    - '!::file'
    - '!::cargo_metadata'
    - and_then
    - expect
    - '&Path::join'
    - PathBuf::from
    - Self::IntoIter::for_each
    - println
    - '!::object'
    - '&[PathBuf]::iter'
    linkageType: ''
    returnType: void
    signature: 'fn build_library<''a>(target: &Target,c_root_dir: &Path,out_dir: &Path,lib_name:
      &str,srcs: impl Iterator<Item = &''a PathBuf>,include_dir: &Path,preassembled_objs:
      &[PathBuf],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:554,1
    - Dst: '&Path::file_name'
      Src: /src/td-shim/library/ring/build.rs:554,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out_dir
    - src
    argTypes:
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 560
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: obj_path
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - '&Path::file_name'
    - '&Path::join'
    - unwrap
    linkageType: ''
    returnType: PathBuf
    signature: 'fn obj_path(out_dir: &Path, src: &Path) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::get_compiler'
      Src: /src/td-shim/library/ring/build.rs:563,1
    - Dst: is_like_clang
      Src: /src/td-shim/library/ring/build.rs:565,1
    - Dst: '!::compiler'
      Src: /src/td-shim/library/ring/build.rs:566,1
    - Dst: '!::get_compiler'
      Src: /src/td-shim/library/ring/build.rs:567,1
    - Dst: '!::include'
      Src: /src/td-shim/library/ring/build.rs:572,1
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:572,1
    - Dst: '!::include'
      Src: /src/td-shim/library/ring/build.rs:573,1
    - Dst: cpp_flags
      Src: /src/td-shim/library/ring/build.rs:574,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:575,1
    - Dst: contains
      Src: /src/td-shim/library/ring/build.rs:578,1
    - Dst: as_str
      Src: /src/td-shim/library/ring/build.rs:578,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:580,1
    - Dst: is_like_msvc
      Src: /src/td-shim/library/ring/build.rs:581,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:582,1
    - Dst: '!::define'
      Src: /src/td-shim/library/ring/build.rs:586,1
    - Dst: is_like_msvc
      Src: /src/td-shim/library/ring/build.rs:590,1
    - Dst: is_like_clang_cl
      Src: /src/td-shim/library/ring/build.rs:590,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:592,1
    - Dst: is_like_clang
      Src: /src/td-shim/library/ring/build.rs:602,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:603,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:605,1
    - Dst: '!::define'
      Src: /src/td-shim/library/ring/build.rs:606,1
    - Dst: '!::try_get_compiler'
      Src: /src/td-shim/library/ring/build.rs:613,1
    - Dst: is_like_clang
      Src: /src/td-shim/library/ring/build.rs:614,1
    - Dst: '!::define'
      Src: /src/td-shim/library/ring/build.rs:615,1
    - Dst: '!::flag'
      Src: /src/td-shim/library/ring/build.rs:616,1
    - Dst: '!::warnings_into_errors'
      Src: /src/td-shim/library/ring/build.rs:622,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 116
    argCount: 4
    argNames:
    - c
    - target
    - c_root_dir
    - include_dir
    argTypes:
    - '&mut cc::Build'
    - '&Target'
    - '&Path'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 624
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 624
    functionName: configure_cc
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - '!::compiler'
    - is_like_msvc
    - '!::define'
    - '!::flag'
    - '!::try_get_compiler'
    - '!::warnings_into_errors'
    - '!::get_compiler'
    - as_str
    - is_like_clang_cl
    - cpp_flags
    - is_like_clang
    - contains
    - '&Path::join'
    - '!::include'
    linkageType: ''
    returnType: void
    signature: 'fn configure_cc(c: &mut cc::Build, target: &Target, c_root_dir: &Path,
      include_dir: &Path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Command::new
      Src: /src/td-shim/library/ring/build.rs:655,1
    - Dst: Result::args
      Src: /src/td-shim/library/ring/build.rs:656,1
    - Dst: run_command
      Src: /src/td-shim/library/ring/build.rs:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - command_name
    - args
    argTypes:
    - '&Path'
    - '&[OsString]'
    constantsTouched: []
    func_position:
      end: 658
      start: 654
    functionDepth: 4
    functionLinenumber: 654
    functionLinenumberEnd: 658
    functionName: run_command_with_args
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 0
    functionsReached:
    - run_command
    - Result::args
    - Command::new
    linkageType: ''
    returnType: void
    signature: 'fn run_command_with_args(command_name: &Path, args: &[OsString])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/build.rs:672,1
    - Dst: filter
      Src: /src/td-shim/library/ring/build.rs:672,1
    - Dst: is_empty
      Src: /src/td-shim/library/ring/build.rs:674,1
    - Dst: contains
      Src: /src/td-shim/library/ring/build.rs:674,1
    - Dst: map
      Src: /src/td-shim/library/ring/build.rs:672,1
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:675,1
    - Dst: "iter()\n        .filter(|&&(archs, _)| archs.is_empty() || archs.contains(&arch))\n\
        \        .map(|&(_, p)| PathBuf::from(p))\n        .collect::<Vec<_>>"
      Src: /src/td-shim/library/ring/build.rs:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - arch
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 677
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 677
    functionName: sources_for_arch
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - map
    - is_empty
    - contains
    - filter
    - PathBuf::from
    - iter
    - "iter()\n        .filter(|&&(archs, _)| archs.is_empty() || archs.contains(&arch))\n\
      \        .map(|&(_, p)| PathBuf::from(p))\n        .collect::<Vec<_>>"
    linkageType: ''
    returnType: Vec
    signature: 'fn sources_for_arch(arch: &str) -> Vec<PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sources_for_arch
      Src: /src/td-shim/library/ring/build.rs:680,1
    - Dst: Vec::iter
      Src: /src/td-shim/library/ring/build.rs:681,1
    - Dst: Self::IntoIter::filter
      Src: /src/td-shim/library/ring/build.rs:681,1
    - Dst: is_perlasm
      Src: /src/td-shim/library/ring/build.rs:683,1
    - Dst: map
      Src: /src/td-shim/library/ring/build.rs:681,1
    - Dst: clone
      Src: /src/td-shim/library/ring/build.rs:684,1
    - Dst: asm_path
      Src: /src/td-shim/library/ring/build.rs:684,1
    - Dst: "iter()\n        .filter(|p| is_perlasm(p))\n        .map(|src| (src.clone(),\
        \ asm_path(out_dir, src, asm_target)))\n        .collect::<Vec<_>>"
      Src: /src/td-shim/library/ring/build.rs:681,1
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:692,1
    - Dst: Vec::contains
      Src: /src/td-shim/library/ring/build.rs:693,1
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:694,1
    - Dst: Vec::push
      Src: /src/td-shim/library/ring/build.rs:695,1
    - Dst: asm_path
      Src: /src/td-shim/library/ring/build.rs:697,1
    - Dst: maybe_synthesize
      Src: /src/td-shim/library/ring/build.rs:701,1
    - Dst: maybe_synthesize
      Src: /src/td-shim/library/ring/build.rs:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 2
    argNames:
    - out_dir
    - asm_target
    argTypes:
    - '&Path'
    - '&AsmTarget'
    constantsTouched: []
    func_position:
      end: 706
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 706
    functionName: perlasm_src_dsts
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - is_perlasm
    - clone
    - map
    - Vec::contains
    - Vec::push
    - asm_path
    - "iter()\n        .filter(|p| is_perlasm(p))\n        .map(|src| (src.clone(),\
      \ asm_path(out_dir, src, asm_target)))\n        .collect::<Vec<_>>"
    - PathBuf::from
    - maybe_synthesize
    - Self::IntoIter::filter
    - sources_for_arch
    - Vec::iter
    linkageType: ''
    returnType: Vec
    signature: 'fn perlasm_src_dsts(out_dir: &Path, asm_target: &AsmTarget) -> Vec<(PathBuf,
      PathBuf)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::into_iter
      Src: /src/td-shim/library/ring/build.rs:709,1
    - Dst: Self::IntoIter::map
      Src: /src/td-shim/library/ring/build.rs:709,1
    - Dst: "into_iter()\n        .map(|(_src, dst)| dst)\n        .collect::<Vec<_>>"
      Src: /src/td-shim/library/ring/build.rs:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - perlasm_src_dsts
    argTypes:
    - Vec<(PathBuf, PathBuf)>
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: asm_srcs
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - "into_iter()\n        .map(|(_src, dst)| dst)\n        .collect::<Vec<_>>"
    - Vec::into_iter
    - Self::IntoIter::map
    linkageType: ''
    returnType: Vec
    signature: 'fn asm_srcs(perlasm_src_dsts: Vec<(PathBuf, PathBuf)>) -> Vec<PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::extension
      Src: /src/td-shim/library/ring/build.rs:716,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:716,1
    - Dst: to_str
      Src: /src/td-shim/library/ring/build.rs:716,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 717
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 717
    functionName: is_perlasm
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - PathBuf::extension
    - to_str
    - unwrap
    linkageType: ''
    returnType: bool
    signature: 'fn is_perlasm(path: &Path) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::file_stem'
      Src: /src/td-shim/library/ring/build.rs:720,1
    - Dst: expect
      Src: /src/td-shim/library/ring/build.rs:720,1
    - Dst: to_str
      Src: /src/td-shim/library/ring/build.rs:722,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:722,1
    - Dst: '&AsmTarget::use_nasm'
      Src: /src/td-shim/library/ring/build.rs:724,1
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:725,1
    - Dst: with_extension
      Src: /src/td-shim/library/ring/build.rs:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - out_dir
    - src
    - asm_target
    argTypes:
    - '&Path'
    - '&Path'
    - '&AsmTarget'
    constantsTouched: []
    func_position:
      end: 726
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 726
    functionName: asm_path
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - '&Path::file_stem'
    - unwrap
    - '&AsmTarget::use_nasm'
    - expect
    - with_extension
    - '&Path::join'
    - to_str
    linkageType: ''
    returnType: PathBuf
    signature: 'fn asm_path(out_dir: &Path, src: &Path, asm_target: &AsmTarget) ->
      PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/td-shim/library/ring/build.rs:740,1
    - Dst: '&str::into'
      Src: /src/td-shim/library/ring/build.rs:740,1
    - Dst: push
      Src: /src/td-shim/library/ring/build.rs:744,1
    - Dst: join_components_with_forward_slashes
      Src: /src/td-shim/library/ring/build.rs:744,1
    - Dst: run_command_with_args
      Src: /src/td-shim/library/ring/build.rs:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - perl_exe
    - src_dst
    - asm_target
    - c_root_dir
    argTypes:
    - '&Path'
    - '&[(PathBuf, PathBuf)]'
    - '&AsmTarget'
    - '&Path'
    constantsTouched: []
    func_position:
      end: 747
      start: 728
    functionDepth: 5
    functionLinenumber: 728
    functionLinenumberEnd: 747
    functionName: perlasm
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 3
    functionsReached:
    - '&str::into'
    - push
    - run_command_with_args
    - join_components_with_forward_slashes
    linkageType: ''
    returnType: void
    signature: 'fn perlasm(perl_exe: &Path,src_dst: &[(PathBuf, PathBuf)],asm_target:
      &AsmTarget,c_root_dir: &Path,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::components
      Src: /src/td-shim/library/ring/build.rs:750,1
    - Dst: Self::map
      Src: /src/td-shim/library/ring/build.rs:750,1
    - Dst: '!::as_os_str'
      Src: /src/td-shim/library/ring/build.rs:750,1
    - Dst: components().map(|c| c.as_os_str()).collect::<Vec<_>>
      Src: /src/td-shim/library/ring/build.rs:750,1
    - Dst: join
      Src: /src/td-shim/library/ring/build.rs:751,1
    - Dst: OsStr::new
      Src: /src/td-shim/library/ring/build.rs:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&Path'
    constantsTouched: []
    func_position:
      end: 752
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: join_components_with_forward_slashes
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - join
    - OsStr::new
    - PathBuf::components
    - Self::map
    - components().map(|c| c.as_os_str()).collect::<Vec<_>>
    - '!::as_os_str'
    linkageType: ''
    returnType: OsString
    signature: 'fn join_components_with_forward_slashes(path: &Path) -> OsString'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_command
      Src: /src/td-shim/library/ring/build.rs:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: get_perl_exe
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - get_command
    linkageType: ''
    returnType: PathBuf
    signature: fn get_perl_exe() -> PathBuf
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:759,1
    - Dst: env::var_os
      Src: /src/td-shim/library/ring/build.rs:759,1
    - Dst: Option::unwrap_or_else
      Src: /src/td-shim/library/ring/build.rs:759,1
    - Dst: Self::into
      Src: /src/td-shim/library/ring/build.rs:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - var
    - default
    argTypes:
    - '&''static str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 760
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionName: get_command
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - Self::into
    - env::var_os
    - Option::unwrap_or_else
    - PathBuf::from
    linkageType: ''
    returnType: PathBuf
    signature: 'fn get_command(var: &''static str, default: &str) -> PathBuf'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: walk_dir
      Src: /src/td-shim/library/ring/build.rs:766,1
    - Dst: PathBuf::from
      Src: /src/td-shim/library/ring/build.rs:766,1
    - Dst: path
      Src: /src/td-shim/library/ring/build.rs:767,1
    - Dst: PathBuf::extension
      Src: /src/td-shim/library/ring/build.rs:768,1
    - Dst: and_then
      Src: /src/td-shim/library/ring/build.rs:768,1
    - Dst: Option::to_str
      Src: /src/td-shim/library/ring/build.rs:768,1
    - Dst: println
      Src: /src/td-shim/library/ring/build.rs:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 778
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 778
    functionName: emit_rerun_if_changed
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - path
    - and_then
    - walk_dir
    - PathBuf::from
    - println
    - PathBuf::extension
    - Option::to_str
    linkageType: ''
    returnType: void
    signature: fn emit_rerun_if_changed()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::is_dir
      Src: /src/td-shim/library/ring/build.rs:781,1
    - Dst: fs::read_dir
      Src: /src/td-shim/library/ring/build.rs:782,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:782,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/build.rs:783,1
    - Dst: path
      Src: /src/td-shim/library/ring/build.rs:784,1
    - Dst: PathBuf::is_dir
      Src: /src/td-shim/library/ring/build.rs:785,1
    - Dst: walk_dir
      Src: /src/td-shim/library/ring/build.rs:786,1
    - Dst: cb
      Src: /src/td-shim/library/ring/build.rs:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - dir
    - cb
    argTypes:
    - '&Path'
    - '&impl Fn(&DirEntry)'
    constantsTouched: []
    func_position:
      end: 792
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 792
    functionName: walk_dir
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 2
    functionsReached:
    - fs::read_dir
    - path
    - cb
    - PathBuf::is_dir
    - unwrap
    - walk_dir
    linkageType: ''
    returnType: void
    signature: 'fn walk_dir(dir: &Path, cb: &impl Fn(&DirEntry))'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::from
      Src: /src/td-shim/library/ring/build.rs:802,1
    - Dst: generate_prefix_symbols_header
      Src: /src/td-shim/library/ring/build.rs:804,1
    - Dst: generate_prefix_symbols_header
      Src: /src/td-shim/library/ring/build.rs:806,1
    - Dst: Some
      Src: /src/td-shim/library/ring/build.rs:810,1
    - Dst: generate_prefix_symbols_header
      Src: /src/td-shim/library/ring/build.rs:814,1
    - Dst: Some
      Src: /src/td-shim/library/ring/build.rs:818,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/build.rs:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - out_dir
    - core_name_and_version
    argTypes:
    - '&Path'
    - '&str'
    constantsTouched: []
    func_position:
      end: 823
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 823
    functionName: generate_prefix_symbols_headers
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - generate_prefix_symbols_header
    - String::from
    - Ok
    - Some
    linkageType: ''
    returnType: Result
    signature: 'fn generate_prefix_symbols_headers(out_dir: &Path,core_name_and_version:
      &str,) -> Result<(), std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&Path::join'
      Src: /src/td-shim/library/ring/build.rs:832,1
    - Dst: fs::create_dir_all
      Src: /src/td-shim/library/ring/build.rs:833,1
    - Dst: PathBuf::join
      Src: /src/td-shim/library/ring/build.rs:835,1
    - Dst: fs::File::create
      Src: /src/td-shim/library/ring/build.rs:836,1
    - Dst: '&str::replace'
      Src: /src/td-shim/library/ring/build.rs:838,1
    - Dst: to_uppercase
      Src: /src/td-shim/library/ring/build.rs:838,1
    - Dst: Option<&str>::is_some
      Src: /src/td-shim/library/ring/build.rs:855,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/build.rs:861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - out_dir
    - filename
    - pp
    - prefix_condition
    - prefix
    argTypes:
    - '&Path'
    - '&str'
    - char
    - Option<&str>
    - '&str'
    constantsTouched: []
    func_position:
      end: 862
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 862
    functionName: generate_prefix_symbols_header
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 1
    functionsReached:
    - Option<&str>::is_some
    - fs::create_dir_all
    - to_uppercase
    - PathBuf::join
    - fs::File::create
    - Ok
    - '&Path::join'
    - '&str::replace'
    linkageType: ''
    returnType: Result
    signature: 'fn generate_prefix_symbols_header(out_dir: &Path,filename: &str,pp:
      char,prefix_condition: Option<&str>,prefix: &str,) -> Result<(), std::io::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: String::new
      Src: /src/td-shim/library/ring/build.rs:1035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - pp
    - prefix_prefix
    - prefix
    argTypes:
    - char
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1060
      start: 864
    functionDepth: 4
    functionLinenumber: 864
    functionLinenumberEnd: 1060
    functionName: prefix_all_symbols
    functionSourceFile: /src/td-shim/library/ring/build.rs
    functionUses: 0
    functionsReached:
    - String::new
    linkageType: ''
    returnType: String
    signature: 'fn prefix_all_symbols(pp: char, prefix_prefix: &str, prefix: &str)
      -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_std_error_error::<error::Unspecified>
      Src: /src/td-shim/library/ring/tests/error_tests.rs:10,1
    - Dst: test::compile_time_assert_std_error_error::<error::KeyRejected>
      Src: /src/td-shim/library/ring/tests/error_tests.rs:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: error_impl_std_error_error_test
    functionSourceFile: /src/td-shim/library/ring/tests/error_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_std_error_error::<error::Unspecified>
    - test::compile_time_assert_std_error_error::<error::KeyRejected>
    linkageType: ''
    returnType: void
    signature: fn error_impl_std_error_error_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:28,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:30,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:31,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:35,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:36,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:60,1
    - Dst: Option::consume_optional_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:62,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:65,1
    - Dst: clone
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:66,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:75,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 90
    functionName: ecdsa_from_pkcs8_test
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - signature::EcdsaKeyPair::from_pkcs8
    - clone
    - rand::SystemRandom::new
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - Option::consume_optional_string
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn ecdsa_from_pkcs8_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:95,1
    - Dst: signature::EcdsaKeyPair::generate_pkcs8
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:103,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:103,1
    - Dst: println
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:104,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:105,1
    - Dst: print
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:106,1
    - Dst: println
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:108,1
    - Dst: println
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:109,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:112,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:112,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: ecdsa_generate_pkcs8_test
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - signature::EcdsaKeyPair::from_pkcs8
    - Result::unwrap
    - signature::EcdsaKeyPair::generate_pkcs8
    - rand::SystemRandom::new
    - println
    - print
    linkageType: ''
    returnType: void
    signature: fn ecdsa_generate_pkcs8_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:118,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:119,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:123,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:124,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:125,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:126,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:127,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:128,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:130,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:130,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:141,1
    - Dst: Self::verify
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:141,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 117
    functionDepth: 7
    functionLinenumber: 117
    functionLinenumberEnd: 147
    functionName: signature_ecdsa_verify_asn1_test
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - signature::UnparsedPublicKey::new
    - test::run
    - Option::consume_bytes
    - String::as_str
    - Self::verify
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_verify_asn1_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:151,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:152,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:156,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:157,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:159,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:160,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:161,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:162,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:164,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:164,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:175,1
    - Dst: Self::verify
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:175,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 181
    functionName: signature_ecdsa_verify_fixed_test
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - signature::UnparsedPublicKey::new
    - test::run
    - Option::consume_bytes
    - String::as_str
    - Self::verify
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_verify_fixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:189,1
    - Dst: signature::EcdsaKeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:190,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:190,1
    - Dst: public_key
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:202,1
    - Dst: clone
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:202,1
    - Dst: public_key
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 213
    functionName: ecdsa_test_public_key_coverage
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - signature::EcdsaKeyPair::from_pkcs8
    - clone
    - Result::unwrap
    - rand::SystemRandom::new
    - public_key
    linkageType: ''
    returnType: void
    signature: fn ecdsa_test_public_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:222,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:224,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:225,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:229,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:230,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:232,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:233,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:234,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:237,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:238,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:240,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:240,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:256,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:256,1
    - Dst: Result::sign
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:259,1
    - Dst: io::Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:259,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:261,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 221
    functionDepth: 7
    functionLinenumber: 221
    functionLinenumberEnd: 267
    functionName: signature_ecdsa_sign_fixed_sign_and_verify_test
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - signature::UnparsedPublicKey::new
    - test::run
    - Option::consume_bytes
    - Result::unwrap
    - String::as_str
    - Result::sign
    - rand::SystemRandom::new
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - io::Result::unwrap
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_fixed_sign_and_verify_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:276,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:278,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:279,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:283,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:284,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:286,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:287,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:288,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:291,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:292,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:294,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:294,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:310,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:310,1
    - Dst: Result::sign
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:313,1
    - Dst: io::Result::unwrap
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:313,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:315,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ecdsa_tests.rs:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 275
    functionDepth: 7
    functionLinenumber: 275
    functionLinenumberEnd: 321
    functionName: signature_ecdsa_sign_asn1_test
    functionSourceFile: /src/td-shim/library/ring/tests/ecdsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - signature::UnparsedPublicKey::new
    - test::run
    - Option::consume_bytes
    - Result::unwrap
    - String::as_str
    - Result::sign
    - rand::SystemRandom::new
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - io::Result::unwrap
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_asn1_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:29,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:29,1
    - Dst: Option::consume_digest_alg
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:32,1
    - Dst: Option::ok_or
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:42,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:43,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:44,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:45,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:46,1
    - Dst: hkdf::Salt::new
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:48,1
    - Dst: Self::extract
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:51,1
    - Dst: Prk::expand
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:51,1
    - Dst: My
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:53,1
    - Dst: Vec::len
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:53,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:51,1
    - Dst: into
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:51,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 60
    functionName: hkdf_tests
    functionSourceFile: /src/td-shim/library/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::ok_or
    - Option::consume_bytes
    - Result::unwrap
    - My
    - Vec::len
    - into
    - Self::extract
    - Ok
    - hkdf::Salt::new
    - ring::test_file
    - Prk::expand
    - Option::consume_digest_alg
    linkageType: ''
    returnType: void
    signature: fn hkdf_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hkdf::Salt::new
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:67,1
    - Dst: Self::extract
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:68,1
    - Dst: Prk::expand
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:72,1
    - Dst: My
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:72,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:72,1
    - Dst: Result::into
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:73,1
    - Dst: Result::hmac_algorithm
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:77,1
    - Dst: hmac::Algorithm::digest_algorithm
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:77,1
    - Dst: '&''static digest::Algorithm::output_len'
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:77,1
    - Dst: Prk::expand
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:81,1
    - Dst: My
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:81,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:81,1
    - Dst: Result::into
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:82,1
    - Dst: Prk::expand
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:93,1
    - Dst: My
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:93,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:93,1
    - Dst: Prk::expand
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:100,1
    - Dst: My
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:100,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:100,1
    - Dst: Prk::expand
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:107,1
    - Dst: My
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:107,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: hkdf_output_len_tests
    functionSourceFile: /src/td-shim/library/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached:
    - Result::into
    - hmac::Algorithm::digest_algorithm
    - Result::unwrap
    - Result::hmac_algorithm
    - My
    - Self::extract
    - hkdf::Salt::new
    - Prk::expand
    - '&''static digest::Algorithm::output_len'
    linkageType: ''
    returnType: void
    signature: fn hkdf_output_len_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: My::len
    functionSourceFile: /src/td-shim/library/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::fill
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:128,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:128,1
    - Dst: Self
      Src: /src/td-shim/library/ring/tests/hkdf_tests.rs:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<My<usize>>
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: My::from
    functionSourceFile: /src/td-shim/library/ring/tests/hkdf_tests.rs
    functionUses: 0
    functionsReached:
    - Result::fill
    - Result::unwrap
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<My<usize>>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:33,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:33,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:35,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:38,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:41,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:43,1
    - Dst: Ed25519KeyPair::from_seed_and_public_key
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:46,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:46,1
    - Dst: sign
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:47,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:54,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:54,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:55,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:55,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:55,1
    - Dst: sign
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:59,1
    - Dst: test_signature_verification
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:63,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:63,1
    - Dst: test_signature_verification
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:68,1
    - Dst: Err
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:68,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 72
    functionName: test_signature_ed25519
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - Ed25519KeyPair::from_seed_and_public_key
    - as_ref
    - test_signature_verification
    - Ed25519KeyPair::generate_pkcs8
    - Result::unwrap
    - Ok
    - ring::test_file
    - Err
    - Ed25519KeyPair::from_pkcs8
    - sign
    linkageType: ''
    returnType: void
    signature: fn test_signature_ed25519()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:77,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:78,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:82,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:83,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:84,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:85,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:85,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:86,1
    - Dst: Err
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:87,1
    - Dst: test_signature_verification
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:90,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: test_signature_ed25519_verify
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - test_signature_verification
    - String::as_str
    - Ok
    - ring::test_file
    - Err
    linkageType: ''
    returnType: void
    signature: fn test_signature_ed25519_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - public_key
    - msg
    - sig
    - expected_result
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - Result<(), error::Unspecified>
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: test_signature_verification
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn test_signature_verification(public_key: &[u8],msg: &[u8],sig: &[u8],expected_result:
      Result<(), error::Unspecified>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: test_ed25519_from_seed_and_public_key_misuse
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_from_seed_and_public_key_misuse()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ed25519_from_pkcs8_
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: test_ed25519_from_pkcs8_unchecked
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - test_ed25519_from_pkcs8_
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_from_pkcs8_unchecked()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ed25519_from_pkcs8_
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: test_ed25519_from_pkcs8
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - test_ed25519_from_pkcs8_
    linkageType: ''
    returnType: void
    signature: fn test_ed25519_from_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:148,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:149,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:152,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:154,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:155,1
    - Dst: Some
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:163,1
    - Dst: Option::consume_optional_bytes
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:167,1
    - Dst: Self::is_none
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:168,1
    - Dst: Some
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:169,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:169,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - variant
    - f
    argTypes:
    - FromPkcs8Variant
    - impl Fn(&[u8]) -> Result<Ed25519KeyPair, error::KeyRejected>
    constantsTouched: []
    func_position:
      end: 192
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 192
    functionName: test_ed25519_from_pkcs8_
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 2
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - Option::unwrap
    - Ok
    - Some
    - ring::test_file
    - Self::is_none
    - Option::consume_optional_bytes
    linkageType: ''
    returnType: void
    signature: 'fn test_ed25519_from_pkcs8_(variant: FromPkcs8Variant,f: impl Fn(&[u8])
      -> Result<Ed25519KeyPair, error::KeyRejected>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:196,1
    - Dst: Ed25519KeyPair::generate_pkcs8
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:197,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:197,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:198,1
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:200,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: ed25519_test_generate_pkcs8
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - Ed25519KeyPair::generate_pkcs8
    - Result::unwrap
    - rand::SystemRandom::new
    - Ed25519KeyPair::from_pkcs8
    linkageType: ''
    returnType: void
    signature: fn ed25519_test_generate_pkcs8()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ed25519KeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:215,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:215,1
    - Dst: public_key
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:222,1
    - Dst: clone
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:222,1
    - Dst: public_key
      Src: /src/td-shim/library/ring/tests/ed25519_tests.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 236
      start: 209
    functionDepth: 6
    functionLinenumber: 209
    functionLinenumberEnd: 236
    functionName: ed25519_test_public_key_coverage
    functionSourceFile: /src/td-shim/library/ring/tests/ed25519_tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - clone
    - Ed25519KeyPair::from_pkcs8
    - public_key
    linkageType: ''
    returnType: void
    signature: fn ed25519_test_public_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:31,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:31,1
    - Dst: Option::consume_digest_alg
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:34,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:34,1
    - Dst: Option::consume_usize
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:47,1
    - Dst: usize::try_into
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:47,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:47,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:48,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:48,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:49,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:50,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:51,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:52,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:53,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:54,1
    - Dst: Err
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:55,1
    - Dst: pbkdf2::derive
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:61,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/pbkdf2_tests.rs:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 72
    functionName: pbkdf2_tests
    functionSourceFile: /src/td-shim/library/ring/tests/pbkdf2_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - Option::unwrap
    - pbkdf2::derive
    - String::as_str
    - unwrap
    - Option::consume_usize
    - usize::try_into
    - try_into
    - Ok
    - ring::test_file
    - Option::consume_digest_alg
    - Err
    linkageType: ''
    returnType: void
    signature: pub fn pbkdf2_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:29,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:29,1
    - Dst: Option::consume_digest_alg
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:31,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:33,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:34,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:40,1
    - Dst: hmac_test_case_inner
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:56,1
    - Dst: untrusted::Input::is_empty
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:59,1
    - Dst: untrusted::Input::push
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:60,1
    - Dst: hmac_test_case_inner
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:65,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 69
    functionName: hmac_tests
    functionSourceFile: /src/td-shim/library/ring/tests/hmac_tests.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - hmac_test_case_inner
    - untrusted::Input::is_empty
    - untrusted::Input::push
    - Ok
    - ring::test_file
    - Option::consume_digest_alg
    linkageType: ''
    returnType: void
    signature: fn hmac_tests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Key::new
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:78,1
    - Dst: hmac::sign
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:82,1
    - Dst: hmac::Context::with_key
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:89,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:90,1
    - Dst: Self::sign
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:91,1
    - Dst: hmac::Context::with_key
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:97,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:99,1
    - Dst: Self::sign
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 5
    argNames:
    - algorithm
    - key_value
    - input
    - output
    - is_ok
    argTypes:
    - hmac::Algorithm
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - bool
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 7
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: hmac_test_case_inner
    functionSourceFile: /src/td-shim/library/ring/tests/hmac_tests.rs
    functionUses: 1
    functionsReached:
    - hmac::Key::new
    - Self::sign
    - Self::update
    - hmac::sign
    - hmac::Context::with_key
    linkageType: ''
    returnType: void
    signature: 'fn hmac_test_case_inner(algorithm: hmac::Algorithm,key_value: &[u8],input:
      &[u8],output: &[u8],is_ok: bool,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Key::new
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:108,1
    - Dst: hmac::Context::with_key
      Src: /src/td-shim/library/ring/tests/hmac_tests.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: hmac_debug
    functionSourceFile: /src/td-shim/library/ring/tests/hmac_tests.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::new
    - hmac::Context::with_key
    linkageType: ''
    returnType: void
    signature: fn hmac_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:35,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:36,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:40,1
    - Dst: Option::consume_optional_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:41,1
    - Dst: rsa::KeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:43,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 53
    functionName: rsa_from_pkcs8_test
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - rsa::KeyPair::from_pkcs8
    - Ok
    - Option::consume_optional_string
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn rsa_from_pkcs8_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:58,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:59,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:60,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:64,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:65,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:72,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:73,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:74,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:75,1
    - Dst: rsa::KeyPair::from_der
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:77,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:80,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:82,1
    - Dst: Result::sign
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:87,1
    - Dst: as_mut_slice
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:88,1
    - Dst: io::Result::unwrap
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:87,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 7
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: test_signature_rsa_pkcs1_sign
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - rsa::KeyPair::from_der
    - Result::unwrap
    - Result::sign
    - String::as_ref
    - rand::SystemRandom::new
    - Ok
    - io::Result::unwrap
    - ring::test_file
    - as_mut_slice
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pkcs1_sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:99,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:100,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:104,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:105,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:112,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:113,1
    - Dst: rsa::KeyPair::from_der
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:114,1
    - Dst: Result::is_err
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:115,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:116,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:118,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:119,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:120,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:121,1
    - Dst: Result::sign
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:127,1
    - Dst: as_mut_slice
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:127,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 7
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: test_signature_rsa_pss_sign
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - rsa::KeyPair::from_der
    - Result::is_err
    - Result::unwrap
    - Result::sign
    - String::as_ref
    - Ok
    - ring::test_file
    - as_mut_slice
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pss_sign()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:141,1
    - Dst: rsa::KeyPair::from_der
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:145,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:145,1
    - Dst: public
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:151,1
    - Dst: modulus_len
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: test_signature_rsa_pkcs1_sign_output_buffer_len
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - rsa::KeyPair::from_der
    - Result::unwrap
    - rand::SystemRandom::new
    - public
    - modulus_len
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pkcs1_sign_output_buffer_len()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:193,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:194,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:198,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:199,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:207,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:212,1
    - Dst: Self::read_all
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:212,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:214,1
    - Dst: der::positive_integer
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:216,1
    - Dst: big_endian_without_leading_zero
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:216,1
    - Dst: der::positive_integer
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:217,1
    - Dst: usize::try_from
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:221,1
    - Dst: leading_zeros
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:221,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:221,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:223,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:223,1
    - Dst: expect
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:212,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:228,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:229,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:230,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:234,1
    - Dst: Self::verify
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:234,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 164
    functionDepth: 7
    functionLinenumber: 164
    functionLinenumberEnd: 241
    functionName: test_signature_rsa_pkcs1_verify
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - untrusted::Input::from
    - test::run
    - signature::UnparsedPublicKey::new
    - Option::consume_bytes
    - der::positive_integer
    - usize::try_from
    - Result::unwrap
    - leading_zeros
    - String::as_ref
    - big_endian_without_leading_zero
    - Self::verify
    - der::nested
    - Result::len
    - Ok
    - expect
    - ring::test_file
    - Self::read_all
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pkcs1_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:246,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:247,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:251,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:252,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:259,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:277,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:278,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:279,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:282,1
    - Dst: Self::verify
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:282,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 245
    functionDepth: 7
    functionLinenumber: 245
    functionLinenumberEnd: 288
    functionName: test_signature_rsa_pss_verify
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - signature::UnparsedPublicKey::new
    - test::run
    - Option::consume_bytes
    - String::as_ref
    - Self::verify
    - Ok
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_pss_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:295,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:296,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:299,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:300,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:301,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:302,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:303,1
    - Dst: Result::verify
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:305,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 294
    functionDepth: 7
    functionLinenumber: 294
    functionLinenumberEnd: 310
    functionName: test_signature_rsa_primitive_verification
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - Ok
    - ring::test_file
    - Result::verify
    linkageType: ''
    returnType: void
    signature: fn test_signature_rsa_primitive_verification()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa::KeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:317,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:317,1
    - Dst: public_key
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:321,1
    - Dst: test_public_key_coverage
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:323,1
    - Dst: public
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:323,1
    - Dst: test_public_key_coverage
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:325,1
    - Dst: public
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:325,1
    - Dst: clone
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 6
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: rsa_test_keypair_coverage
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 0
    functionsReached:
    - test_public_key_coverage
    - clone
    - Result::unwrap
    - rsa::KeyPair::from_pkcs8
    - public
    - public_key
    linkageType: ''
    returnType: void
    signature: fn rsa_test_keypair_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rsa::PublicKeyComponents::<Vec<_>>::from
      Src: /src/td-shim/library/ring/tests/rsa_tests.rs:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&rsa::PublicKey'
    constantsTouched: []
    func_position:
      end: 348
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 348
    functionName: test_public_key_coverage
    functionSourceFile: /src/td-shim/library/ring/tests/rsa_tests.rs
    functionUses: 1
    functionsReached:
    - rsa::PublicKeyComponents::<Vec<_>>::from
    linkageType: ''
    returnType: void
    signature: 'fn test_public_key_coverage(key: &rsa::PublicKey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_clone::<signature::Signature>
      Src: /src/td-shim/library/ring/tests/signature_tests.rs:15,1
    - Dst: test::compile_time_assert_copy::<signature::Signature>
      Src: /src/td-shim/library/ring/tests/signature_tests.rs:16,1
    - Dst: test::compile_time_assert_send::<signature::Signature>
      Src: /src/td-shim/library/ring/tests/signature_tests.rs:17,1
    - Dst: test::compile_time_assert_sync::<signature::Signature>
      Src: /src/td-shim/library/ring/tests/signature_tests.rs:18,1
    - Dst: signature::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/signature_tests.rs:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 30
    functionName: signature_impl_test
    functionSourceFile: /src/td-shim/library/ring/tests/signature_tests.rs
    functionUses: 0
    functionsReached:
    - signature::UnparsedPublicKey::new
    - test::compile_time_assert_sync::<signature::Signature>
    - test::compile_time_assert_clone::<signature::Signature>
    - test::compile_time_assert_copy::<signature::Signature>
    - test::compile_time_assert_send::<signature::Signature>
    linkageType: ''
    returnType: void
    signature: fn signature_impl_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:33,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:35,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:35,1
    - Dst: test::compile_time_assert_send::<agreement::EphemeralPrivateKey>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:37,1
    - Dst: test::compile_time_assert_sync::<agreement::EphemeralPrivateKey>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:38,1
    - Dst: Result::compute_public_key
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:45,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:45,1
    - Dst: test::compile_time_assert_clone::<agreement::PublicKey>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:47,1
    - Dst: test::compile_time_assert_send::<agreement::PublicKey>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:48,1
    - Dst: test::compile_time_assert_sync::<agreement::PublicKey>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:49,1
    - Dst: test::compile_time_assert_clone::<agreement::UnparsedPublicKey<&[u8]>>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:56,1
    - Dst: test::compile_time_assert_copy::<agreement::UnparsedPublicKey<&[u8]>>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:57,1
    - Dst: test::compile_time_assert_sync::<agreement::UnparsedPublicKey<&[u8]>>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:58,1
    - Dst: test::compile_time_assert_clone::<agreement::UnparsedPublicKey<Vec<u8>>>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:60,1
    - Dst: test::compile_time_assert_sync::<agreement::UnparsedPublicKey<Vec<u8>>>
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:61,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 73
    functionName: agreement_traits
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_clone::<agreement::PublicKey>
    - test::compile_time_assert_send::<agreement::PublicKey>
    - test::compile_time_assert_sync::<agreement::UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_sync::<agreement::EphemeralPrivateKey>
    - Result::unwrap
    - test::compile_time_assert_sync::<agreement::PublicKey>
    - agreement::UnparsedPublicKey::new
    - test::compile_time_assert_send::<agreement::EphemeralPrivateKey>
    - rand::SystemRandom::new
    - test::compile_time_assert_copy::<agreement::UnparsedPublicKey<&[u8]>>
    - test::compile_time_assert_sync::<agreement::UnparsedPublicKey<Vec<u8>>>
    - Result::compute_public_key
    - test::compile_time_assert_clone::<agreement::UnparsedPublicKey<&[u8]>>
    - agreement::EphemeralPrivateKey::generate
    - test::compile_time_assert_clone::<agreement::UnparsedPublicKey<Vec<u8>>>
    linkageType: ''
    returnType: void
    signature: fn agreement_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:77,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:79,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:79,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:82,1
    - Dst: alg_from_curve_name
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:83,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:84,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:84,1
    - Dst: Option::consume_optional_string
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:86,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:88,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:92,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:94,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:95,1
    - Dst: Vec::compute_public_key
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:99,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:99,1
    - Dst: agreement::agree_ephemeral
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:104,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:113,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 131
    functionName: agreement_agree_ephemeral
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - agreement::agree_ephemeral
    - test::run
    - Option::consume_bytes
    - alg_from_curve_name
    - Result::unwrap
    - agreement::UnparsedPublicKey::new
    - rand::SystemRandom::new
    - Vec::compute_public_key
    - Ok
    - agreement::EphemeralPrivateKey::generate
    - Option::consume_optional_string
    - ring::test_file
    linkageType: ''
    returnType: void
    signature: fn agreement_agree_ephemeral()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:145,1
    - Dst: Result::clone_from
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - expected_result
    - range
    - k
    - u
    argTypes:
    - '&str'
    - core::ops::Range<usize>
    - '&mut Vec<u8>'
    - '&mut Vec<u8>'
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::e::c::d::h::_::x::2::5::5::1::9::_::r::f::c::_::i::t::e::r::a::t::e::d::expect_iterated_x25519
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - Result::clone_from
    - x25519
    linkageType: ''
    returnType: void
    signature: 'fn expect_iterated_x25519(expected_result: &str,range: core::ops::Range<usize>,k:
      &mut Vec<u8>,u: &mut Vec<u8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:135,1
    - Dst: u64::clone
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:136,1
    - Dst: expect_iterated_x25519
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:152,1
    - Dst: expect_iterated_x25519
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:158,1
    - Dst: expect_iterated_x25519
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:168,1
    - Dst: expect_iterated_x25519
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 183
    functionName: test_agreement_ecdh_x25519_rfc_iterated
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 0
    functionsReached:
    - h
    - expect_iterated_x25519
    - u64::clone
    linkageType: ''
    returnType: void
    signature: fn test_agreement_ecdh_x25519_rfc_iterated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:186,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: x25519
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 2
    functionsReached:
    - Result::unwrap
    - x25519_
    linkageType: ''
    returnType: Vec
    signature: 'fn x25519(private_key: &[u8], public_key: &[u8]) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:192,1
    - Dst: agreement::UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:193,1
    - Dst: agreement::agree_ephemeral
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:194,1
    - Dst: Vec::from
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - private_key
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: x25519_
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 1
    functionsReached:
    - agreement::agree_ephemeral
    - Vec::from
    - agreement::UnparsedPublicKey::new
    - agreement::EphemeralPrivateKey::generate
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_(private_key: &[u8], public_key: &[u8]) -> Result<Vec<u8>,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_hex
      Src: /src/td-shim/library/ring/tests/agreement_tests.rs:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: h
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 86
    functionsReached:
    - test::from_hex
    linkageType: ''
    returnType: Vec
    signature: 'fn h(s: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: alg_from_curve_name
    functionSourceFile: /src/td-shim/library/ring/tests/agreement_tests.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&''static agreement::Algorithm'
    signature: 'fn alg_from_curve_name(curve_name: &str) -> &''static agreement::Algorithm'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_quic
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:23,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: quic_aes_128
    functionSourceFile: /src/td-shim/library/ring/tests/quic_tests.rs
    functionUses: 0
    functionsReached:
    - ring::test_file
    - test_quic
    linkageType: ''
    returnType: void
    signature: fn quic_aes_128()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_quic
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:28,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: quic_aes_256
    functionSourceFile: /src/td-shim/library/ring/tests/quic_tests.rs
    functionUses: 0
    functionsReached:
    - ring::test_file
    - test_quic
    linkageType: ''
    returnType: void
    signature: fn quic_aes_256()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_quic
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:33,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: quic_chacha20
    functionSourceFile: /src/td-shim/library/ring/tests/quic_tests.rs
    functionUses: 0
    functionsReached:
    - ring::test_file
    - test_quic
    linkageType: ''
    returnType: void
    signature: fn quic_chacha20()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_key_len
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:37,1
    - Dst: test_sample_len
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:38,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:40,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:42,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:43,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:44,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:46,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - alg
    - test_file
    argTypes:
    - '&''static quic::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: test_quic
    functionSourceFile: /src/td-shim/library/ring/tests/quic_tests.rs
    functionUses: 3
    functionsReached:
    - test::run
    - Option::consume_bytes
    - test_sample_len
    - quic::HeaderProtectionKey::new
    - Ok
    - test_key_len
    linkageType: ''
    returnType: void
    signature: 'fn test_quic(alg: &''static quic::Algorithm, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::key_len
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static quic::Algorithm'
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: test_key_len
    functionSourceFile: /src/td-shim/library/ring/tests/quic_tests.rs
    functionUses: 1
    functionsReached:
    - Result::key_len
    linkageType: ''
    returnType: void
    signature: 'fn test_key_len(alg: &''static quic::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::key_len
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:67,1
    - Dst: quic::HeaderProtectionKey::new
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:70,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:70,1
    - Dst: Result::sample_len
      Src: /src/td-shim/library/ring/tests/quic_tests.rs:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static quic::Algorithm'
    constantsTouched: []
    func_position:
      end: 87
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 87
    functionName: test_sample_len
    functionSourceFile: /src/td-shim/library/ring/tests/quic_tests.rs
    functionUses: 1
    functionsReached:
    - Result::unwrap
    - Result::sample_len
    - Result::key_len
    - quic::HeaderProtectionKey::new
    linkageType: ''
    returnType: void
    signature: 'fn test_sample_len(alg: &''static quic::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/tests/rand_tests.rs:55,1
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/rand_tests.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 68
    functionName: test_system_random_lengths
    functionSourceFile: /src/td-shim/library/ring/tests/rand_tests.rs
    functionUses: 0
    functionsReached:
    - rand::SystemRandom::new
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_system_random_lengths()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_clone::<rand::SystemRandom>
      Src: /src/td-shim/library/ring/tests/rand_tests.rs:72,1
    - Dst: test::compile_time_assert_send::<rand::SystemRandom>
      Src: /src/td-shim/library/ring/tests/rand_tests.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: test_system_random_traits
    functionSourceFile: /src/td-shim/library/ring/tests/rand_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<rand::SystemRandom>
    - test::compile_time_assert_clone::<rand::SystemRandom>
    linkageType: ''
    returnType: void
    signature: fn test_system_random_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:30,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:30,1
    - Dst: Option::consume_digest_alg
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:32,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:33,1
    - Dst: Option::consume_usize
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:34,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:35,1
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:37,1
    - Dst: Vec::new
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:38,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:40,1
    - Dst: extend
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:41,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:43,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:46,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 29
    functionDepth: 4
    functionLinenumber: 29
    functionLinenumberEnd: 51
    functionName: digest_misc
    functionSourceFile: /src/td-shim/library/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - Option::unwrap
    - digest::digest
    - Self::update
    - extend
    - Vec::new
    - digest::Context::new
    - Option::consume_usize
    - Ok
    - Self::finish
    - ring::test_file
    - Option::consume_digest_alg
    linkageType: ''
    returnType: void
    signature: fn digest_misc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_len
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:6,1
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:18,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:19,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:20,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:21,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:22,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/tests/digest_tests.rs:24,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: test_i_u_f
    functionSourceFile: /src/td-shim/library/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached:
    - Self::update
    - block_len
    - digest::Context::new
    - Self::finish
    - digest::digest
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: test_fmt_algorithm
    functionSourceFile: /src/td-shim/library/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_fmt_algorithm()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 137
    functionName: digest_test_fmt
    functionSourceFile: /src/td-shim/library/ring/tests/digest_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn digest_test_fmt()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: test_known_answer
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:105,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:107,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:108,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:109,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:110,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:111,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:112,1
    - Dst: Option::consume_optional_string
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:113,1
    - Dst: as_deref
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:115,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:121,1
    - Dst: Nonce::as_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:131,1
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:131,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:131,1
    - Dst: aead::Aad::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 3
    argNames:
    - aead_alg
    - f
    - test_file
    argTypes:
    - '&''static aead::Algorithm'
    - impl Fn(&'static aead::Algorithm, KnownAnswerTestCase) -> Result<(), error::Unspecified>
    - test::File
    constantsTouched: []
    func_position:
      end: 140
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 140
    functionName: test_aead
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 1
    functionsReached:
    - test::run
    - Option::consume_bytes
    - as_deref
    - '&[u8]::try_into'
    - unwrap
    - aead::Aad::from
    - Ok
    - Option::consume_optional_string
    - Nonce::as_slice
    linkageType: ''
    returnType: void
    signature: 'fn test_aead(aead_alg: &''static aead::Algorithm,f: impl Fn(&''static
      aead::Algorithm, KnownAnswerTestCase) -> Result<(), error::Unspecified>,test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:149,1
    - Dst: seal
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:150,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:150,1
    - Dst: Vec::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:152,1
    - Dst: Self::extend_from_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:153,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - tc
    - seal
    argTypes:
    - '&KnownAnswerTestCase'
    - Seal
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: test_seal_append_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - seal
    - Self::extend_from_slice
    - aead::Nonce::assume_unique_for_key
    - Ok
    - Vec::from
    linkageType: ''
    returnType: Result
    signature: 'fn test_seal_append_tag<Seal>(tc: &KnownAnswerTestCase,seal: Seal,)
      -> Result<(), error::Unspecified>whereSeal: FnOnce(aead::Nonce, &mut Vec<u8>)
      -> Result<(), error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:167,1
    - Dst: seal
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:168,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:168,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tc
    - seal
    argTypes:
    - '&KnownAnswerTestCase'
    - Seal
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: test_seal_separate_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - seal
    - Ok
    - aead::Nonce::assume_unique_for_key
    - Vec::from
    linkageType: ''
    returnType: Result
    signature: 'fn test_seal_separate_tag<Seal>(tc: &KnownAnswerTestCase,seal: Seal,)
      -> Result<(), error::Unspecified>whereSeal: Fn(aead::Nonce, &mut [u8]) -> Result<aead::Tag,
      error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:183,1
    - Dst: Vec::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:185,1
    - Dst: Self::extend_from_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:186,1
    - Dst: open_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:188,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - tc
    - open_in_place
    argTypes:
    - '&KnownAnswerTestCase<''_>'
    - OpenInPlace
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: test_open_in_place
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Self::extend_from_slice
    - aead::Nonce::assume_unique_for_key
    - Ok
    - Vec::from
    - open_in_place
    linkageType: ''
    returnType: Result
    signature: 'fn test_open_in_place<OpenInPlace>(tc: &KnownAnswerTestCase<''_>,open_in_place:
      OpenInPlace,) -> Result<(), error::Unspecified>whereOpenInPlace:for<''a> FnOnce(aead::Nonce,
      &''a mut [u8]) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_less_safe_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:199,1
    - Dst: Vec::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:201,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:202,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:202,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:206,1
    - Dst: Result::open_in_place_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:208,1
    - Dst: Self::len
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:216,1
    - Dst: Self::extend_from_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:217,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:219,1
    - Dst: Result::open_in_place_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:221,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 228
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 228
    functionName: test_open_in_place_seperate_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - make_less_safe_key
    - aead::Nonce::assume_unique_for_key
    - Self::extend_from_slice
    - unwrap
    - try_into
    - Result::open_in_place_separate_tag
    - Ok
    - Vec::from
    linkageType: ''
    returnType: Result
    signature: 'fn test_open_in_place_seperate_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:299,1
    - Dst: iter
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:306,1
    - Dst: truncate
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:307,1
    - Dst: resize
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:308,1
    - Dst: extend_from_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:309,1
    - Dst: extend_from_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:310,1
    - Dst: open_within
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:312,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:313,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 2
    argNames:
    - tc
    - open_within
    argTypes:
    - '&KnownAnswerTestCase<''_>'
    - OpenWithin
    constantsTouched: []
    func_position:
      end: 322
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 322
    functionName: test_open_within
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - len
    - truncate
    - aead::Nonce::assume_unique_for_key
    - extend_from_slice
    - Ok
    - iter
    - open_within
    - resize
    linkageType: ''
    returnType: Result
    signature: 'fn test_open_within<OpenWithin>(tc: &KnownAnswerTestCase<''_>,open_within:
      OpenWithin,) -> Result<(), error::Unspecified>whereOpenWithin: for<''a> Fn(aead::Nonce,&''a
      mut [u8],RangeFrom<usize>,) -> Result<&''a mut [u8], error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_append_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:328,1
    - Dst: make_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:329,1
    - Dst: Result::seal_in_place_append_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: sealing_key_seal_in_place_append_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_seal_append_tag
    - make_key
    - Result::seal_in_place_append_tag
    linkageType: ''
    returnType: Result
    signature: 'fn sealing_key_seal_in_place_append_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:338,1
    - Dst: make_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:339,1
    - Dst: Result::seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 2
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: sealing_key_seal_in_place_separate_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Result::seal_in_place_separate_tag
    - test_seal_separate_tag
    - make_key
    linkageType: ''
    returnType: Result
    signature: 'fn sealing_key_seal_in_place_separate_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:348,1
    - Dst: make_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:349,1
    - Dst: Result::open_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 352
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 352
    functionName: opening_key_open_in_place
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Result::open_in_place
    - test_open_in_place
    - make_key
    linkageType: ''
    returnType: Result
    signature: 'fn opening_key_open_in_place(alg: &''static aead::Algorithm,tc: KnownAnswerTestCase,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_within
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:358,1
    - Dst: make_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:359,1
    - Dst: Result::open_within
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: opening_key_open_within
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_open_within
    - make_key
    - Result::open_within
    linkageType: ''
    returnType: Result
    signature: 'fn opening_key_open_within(alg: &''static aead::Algorithm,tc: KnownAnswerTestCase,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_append_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:368,1
    - Dst: make_less_safe_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:369,1
    - Dst: Result::seal_in_place_append_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: less_safe_key_seal_in_place_append_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_seal_append_tag
    - make_less_safe_key
    - Result::seal_in_place_append_tag
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_seal_in_place_append_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:378,1
    - Dst: make_less_safe_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:379,1
    - Dst: Result::open_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: less_safe_key_open_in_place
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - make_less_safe_key
    - Result::open_in_place
    - test_open_in_place
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_open_in_place(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_seal_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:388,1
    - Dst: make_less_safe_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:389,1
    - Dst: Result::seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: less_safe_key_seal_in_place_separate_tag
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Result::seal_in_place_separate_tag
    - make_less_safe_key
    - test_seal_separate_tag
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_seal_in_place_separate_tag(alg: &''static aead::Algorithm,tc:
      KnownAnswerTestCase,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_open_within
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:398,1
    - Dst: make_less_safe_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:399,1
    - Dst: Result::open_within
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - alg
    - tc
    argTypes:
    - '&''static aead::Algorithm'
    - KnownAnswerTestCase
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: less_safe_key_open_within
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_open_within
    - make_less_safe_key
    - Result::open_within
    linkageType: ''
    returnType: Result
    signature: 'fn less_safe_key_open_within(alg: &''static aead::Algorithm,tc: KnownAnswerTestCase,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static aead::Algorithm::key_len'
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - aead_alg
    argTypes:
    - '&''static aead::Algorithm'
    constantsTouched: []
    func_position:
      end: 429
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 429
    functionName: key_sizes
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - '&''static aead::Algorithm::key_len'
    linkageType: ''
    returnType: void
    signature: 'fn key_sizes(aead_alg: &''static aead::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: test_aead_nonce_sizes
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_aead_nonce_sizes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:453,1
    - Dst: ring::test_file
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:454,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:460,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:462,1
    - Dst: Option::consume_usize
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:466,1
    - Dst: usize::try_into
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:466,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:466,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:470,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:471,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:472,1
    - Dst: Vec::clone
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:478,1
    - Dst: aead::chacha20_poly1305_openssh::SealingKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:479,1
    - Dst: seal_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:480,1
    - Dst: aead::chacha20_poly1305_openssh::OpeningKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:483,1
    - Dst: Self::open_in_place
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:486,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 495
    functionName: aead_chacha20_poly1305_openssh
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - copy_from_slice
    - Self::open_in_place
    - unwrap
    - Option::consume_usize
    - usize::try_into
    - aead::chacha20_poly1305_openssh::SealingKey::new
    - Ok
    - seal_in_place
    - ring::test_file
    - Vec::clone
    - aead::chacha20_poly1305_openssh::OpeningKey::new
    linkageType: ''
    returnType: void
    signature: fn aead_chacha20_poly1305_openssh()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Aad<&'_ [u8]>>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:499,1
    - Dst: test::compile_time_assert_sync::<aead::Aad<&'_ [u8]>>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:500,1
    - Dst: test::compile_time_assert_copy::<aead::Aad<&'_ [u8]>>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:501,1
    - Dst: test::compile_time_assert_eq::<aead::Aad<Vec<u8>>>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:502,1
    - Dst: aead::Aad::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 510
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 510
    functionName: aead_test_aad_traits
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<aead::Aad<&'_ [u8]>>
    - aead::Aad::from
    - test::compile_time_assert_eq::<aead::Aad<Vec<u8>>>
    - test::compile_time_assert_sync::<aead::Aad<&'_ [u8]>>
    - test::compile_time_assert_copy::<aead::Aad<&'_ [u8]>>
    linkageType: ''
    returnType: void
    signature: fn aead_test_aad_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Nonce>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:514,1
    - Dst: test::compile_time_assert_sync::<aead::Nonce>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: test_nonce_traits
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_sync::<aead::Nonce>
    - test::compile_time_assert_send::<aead::Nonce>
    linkageType: ''
    returnType: void
    signature: fn test_nonce_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::compile_time_assert_send::<aead::Tag>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:520,1
    - Dst: test::compile_time_assert_sync::<aead::Tag>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:521,1
    - Dst: test::compile_time_assert_copy::<aead::Tag>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:523,1
    - Dst: test::compile_time_assert_clone::<aead::Tag>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:524,1
    - Dst: aead::Tag::from
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: test_tag_traits
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test::compile_time_assert_send::<aead::Tag>
    - test::compile_time_assert_clone::<aead::Tag>
    - aead::Tag::from
    - test::compile_time_assert_copy::<aead::Tag>
    - test::compile_time_assert_sync::<aead::Tag>
    linkageType: ''
    returnType: void
    signature: fn test_tag_traits()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 531
    functionName: test_aead_key_traits
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_key_traits<T: Send + Sync>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_key_traits::<aead::OpeningKey<OneNonceSequence>>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:535,1
    - Dst: test_aead_key_traits::<aead::SealingKey<OneNonceSequence>>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:536,1
    - Dst: test_aead_key_traits::<aead::LessSafeKey>
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 538
    functionName: test_aead_key_traits_all
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_key_traits::<aead::OpeningKey<OneNonceSequence>>
    - test_aead_key_traits::<aead::LessSafeKey>
    - test_aead_key_traits::<aead::SealingKey<OneNonceSequence>>
    linkageType: ''
    returnType: void
    signature: fn test_aead_key_traits_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:545,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:545,1
    - Dst: make_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:551,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:554,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:554,1
    - Dst: make_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:561,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:564,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:564,1
    - Dst: make_less_safe_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 576
    functionName: test_aead_key_debug
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - make_less_safe_key
    - Result::unwrap
    - aead::Nonce::try_assume_unique_for_key
    - aead::UnboundKey::new
    - make_key
    linkageType: ''
    returnType: void
    signature: fn test_aead_key_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: collect
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:579,1
    - Dst: key_len
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:580,1
    - Dst: nonce_len
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:581,1
    - Dst: aead::LessSafeKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:584,1
    - Dst: aead::UnboundKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:584,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:584,1
    - Dst: Self::clone
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:585,1
    - Dst: collect
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:589,1
    - Dst: clone
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:590,1
    - Dst: Self::seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:591,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:593,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:593,1
    - Dst: aead::Aad::empty
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:594,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:591,1
    - Dst: seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:598,1
    - Dst: aead::Nonce::try_assume_unique_for_key
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:600,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:600,1
    - Dst: aead::Aad::empty
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:601,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 46
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static aead::Algorithm'
    constantsTouched: []
    func_position:
      end: 607
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 607
    functionName: test_aead_lesssafekey_clone_for_algorithm
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - Self::clone
    - seal_in_place_separate_tag
    - clone
    - Result::unwrap
    - aead::Nonce::try_assume_unique_for_key
    - unwrap
    - aead::Aad::empty
    - key_len
    - nonce_len
    - aead::LessSafeKey::new
    - Self::seal_in_place_separate_tag
    - aead::UnboundKey::new
    - collect
    linkageType: ''
    returnType: void
    signature: 'fn test_aead_lesssafekey_clone_for_algorithm(algorithm: &''static
      aead::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_lesssafekey_clone_for_algorithm
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 4
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: test_aead_lesssafekey_clone_aes_128_gcm
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_lesssafekey_clone_for_algorithm
    linkageType: ''
    returnType: void
    signature: fn test_aead_lesssafekey_clone_aes_128_gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_lesssafekey_clone_for_algorithm
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 4
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: test_aead_lesssafekey_clone_aes_256_gcm
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_lesssafekey_clone_for_algorithm
    linkageType: ''
    returnType: void
    signature: fn test_aead_lesssafekey_clone_aes_256_gcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aead_lesssafekey_clone_for_algorithm
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: test_aead_lesssafekey_clone_chacha20_poly1305
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - test_aead_lesssafekey_clone_for_algorithm
    linkageType: ''
    returnType: void
    signature: fn test_aead_lesssafekey_clone_chacha20_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:629,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:629,1
    - Dst: OneNonceSequence::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:630,1
    - Dst: K::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - algorithm
    - key
    - nonce
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    - aead::Nonce
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: make_key
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 5
    functionsReached:
    - Result::unwrap
    - aead::UnboundKey::new
    - OneNonceSequence::new
    - K::new
    linkageType: ''
    returnType: K
    signature: 'fn make_key<K: aead::BoundKey<OneNonceSequence>>(algorithm: &''static
      aead::Algorithm,key: &[u8],nonce: aead::Nonce,) -> K'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aead::UnboundKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:635,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:635,1
    - Dst: aead::LessSafeKey::new
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - algorithm
    - key
    argTypes:
    - '&''static aead::Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 637
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 637
    functionName: make_less_safe_key
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 6
    functionsReached:
    - Result::unwrap
    - aead::UnboundKey::new
    - aead::LessSafeKey::new
    linkageType: ''
    returnType: aead::LessSafeKey
    signature: 'fn make_less_safe_key(algorithm: &''static aead::Algorithm, key: &[u8])
      -> aead::LessSafeKey'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:645,1
    - Dst: Some
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - aead::Nonce
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: OneNonceSequence::new
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 1
    functionsReached:
    - Some
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn new(nonce: aead::Nonce) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: take
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:651,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/tests/aead_tests.rs:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionName: OneNonceSequence::advance
    functionSourceFile: /src/td-shim/library/ring/tests/aead_tests.rs
    functionUses: 0
    functionsReached:
    - ok_or
    - take
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<aead::Nonce, error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::generate
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:33,1
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:33,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:33,1
    - Dst: expose
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:33,1
    - Dst: len
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:37,1
    - Dst: len
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:53,1
    - Dst: len
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:58,1
    - Dst: Err
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:67,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/tests/constant_time_tests.rs:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 78
    functionName: test_verify_slices_are_equal
    functionSourceFile: /src/td-shim/library/ring/tests/constant_time_tests.rs
    functionUses: 0
    functionsReached:
    - len
    - Result::unwrap
    - rand::generate
    - rand::SystemRandom::new
    - expose
    - Ok
    - Err
    linkageType: ''
    returnType: void
    signature: fn test_verify_slices_are_equal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyfill::u64_from_usize
      Src: /src/td-shim/library/ring/src/bits.rs:56,1
    - Dst: u64::checked_mul
      Src: /src/td-shim/library/ring/src/bits.rs:56,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bits.rs:57,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/bits.rs:57,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/bits.rs:58,1
    - Dst: InputTooLongError::new
      Src: /src/td-shim/library/ring/src/bits.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: BitLength::from_byte_len
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - polyfill::u64_from_usize
    - u64::checked_mul
    - Self
    - InputTooLongError::new
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn from_byte_len(bytes: usize) -> Result<Self, InputTooLongError<usize>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/bits.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - bits
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: BitLength::from_bits
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub const fn from_bits(bits: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: BitLength::as_bits
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: pub fn as_bits(self) -> T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/bits.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: BitLength::half_rounded_up
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn half_rounded_up(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: BitLength::as_usize_bytes_rounded_up
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub const fn as_usize_bytes_rounded_up(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_sub
      Src: /src/td-shim/library/ring/src/bits.rs:104,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/bits.rs:104,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bits.rs:105,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/bits.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: BitLength::try_sub_1
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - ok_or
    - Ok
    - checked_sub
    - Self
    linkageType: ''
    returnType: Result
    signature: pub(crate) fn try_sub_1(self) -> Result<Self, crate::error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_be_bytes
      Src: /src/td-shim/library/ring/src/bits.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: BitLength::to_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - to_be_bytes
    linkageType: ''
    returnType: '[u8; 8]'
    signature: pub fn to_be_bytes(self) -> [u8; 8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength
      Src: /src/td-shim/library/ring/src/bits.rs:118,1
    - Dst: polyfill::u64_from_usize
      Src: /src/td-shim/library/ring/src/bits.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames: []
    argTypes:
    - BitLength<usize>
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: BitLength::from
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - polyfill::u64_from_usize
    - BitLength
    linkageType: ''
    returnType: Self
    signature: 'fn from(BitLength(value): BitLength<usize>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/bits.rs:126,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/bits.rs:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames: []
    argTypes:
    - BitLength<u64>
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 3
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: BitLength::try_from
    functionSourceFile: /src/td-shim/library/ring/src/bits.rs
    functionUses: 0
    functionsReached:
    - map
    - try_into
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(BitLength(value): BitLength<u64>) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bssl.rs:28,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/bssl.rs:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ret
    argTypes:
    - Result
    constantsTouched: []
    func_position:
      end: 34
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 34
    functionName: core::result::Result::from
    functionSourceFile: /src/td-shim/library/ring/src/bssl.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    linkageType: ''
    returnType: Self
    signature: 'fn from(ret: Result) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: tests::size_and_alignment
    functionSourceFile: /src/td-shim/library/ring/src/bssl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn size_and_alignment()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: tests::semantics
    functionSourceFile: /src/td-shim/library/ring/src/bssl.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn semantics()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ::core::fmt::Debug::fmt
      Src: /src/td-shim/library/ring/src/debug.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 25
    functionName: derive_debug_via_id
    functionSourceFile: /src/td-shim/library/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - ::core::fmt::Debug::fmt
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/debug.rs:4,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/debug.rs:4,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/debug.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: derive_debug_via_field
    functionSourceFile: /src/td-shim/library/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crate::debug::write_hex_tuple
      Src: /src/td-shim/library/ring/src/debug.rs:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: derive_debug_self_as_ref_hex_bytes
    functionSourceFile: /src/td-shim/library/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - crate::debug::write_hex_tuple
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::fmt::Result::debug_tuple
      Src: /src/td-shim/library/ring/src/debug.rs:60,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/debug.rs:60,1
    - Dst: HexStr
      Src: /src/td-shim/library/ring/src/debug.rs:61,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/debug.rs:61,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/debug.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - fmt
    - type_name
    - value
    argTypes:
    - '&mut core::fmt::Formatter'
    - '&str'
    - '&dyn AsRef<[u8]>'
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: write_hex_tuple
    functionSourceFile: /src/td-shim/library/ring/src/debug.rs
    functionUses: 1
    functionsReached:
    - core::fmt::Result::debug_tuple
    - field
    - finish
    - as_ref
    - HexStr
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_hex_tuple(fmt: &mut core::fmt::Formatter,type_name:
      &str,value: &dyn AsRef<[u8]>,) -> Result<(), ::core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::fmt::Result::write_str
      Src: /src/td-shim/library/ring/src/debug.rs:69,1
    - Dst: write_hex_bytes
      Src: /src/td-shim/library/ring/src/debug.rs:70,1
    - Dst: core::fmt::Result::write_str
      Src: /src/td-shim/library/ring/src/debug.rs:71,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/debug.rs:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: HexStr::fmt
    functionSourceFile: /src/td-shim/library/ring/src/debug.rs
    functionUses: 0
    functionsReached:
    - write_hex_bytes
    - Ok
    - core::fmt::Result::write_str
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, fmt: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/debug.rs:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fmt
    - bytes
    argTypes:
    - '&mut core::fmt::Formatter'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: write_hex_bytes
    functionSourceFile: /src/td-shim/library/ring/src/debug.rs
    functionUses: 1
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_hex_bytes(fmt: &mut core::fmt::Formatter,bytes:
      &[u8],) -> Result<(), ::core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/pkcs8.rs:57,1
    - Dst: Template::alg_id_value_
      Src: /src/td-shim/library/ring/src/pkcs8.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: Template::alg_id_value
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Template::alg_id_value_
    linkageType: ''
    returnType: untrusted::Input
    signature: fn alg_id_value(&self) -> untrusted::Input
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: Template::alg_id_value_
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn alg_id_value_(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/pkcs8.rs:66,1
    - Dst: Template::alg_id_value_
      Src: /src/td-shim/library/ring/src/pkcs8.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: Template::curve_oid
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Template::alg_id_value_
    linkageType: ''
    returnType: untrusted::Input
    signature: pub fn curve_oid(&self) -> untrusted::Input
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unwrap_key_
      Src: /src/td-shim/library/ring/src/pkcs8.rs:81,1
    - Dst: alg_id_value
      Src: /src/td-shim/library/ring/src/pkcs8.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - template
    - version
    - input
    argTypes:
    - '&Template'
    - Version
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: unwrap_key
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 0
    functionsReached:
    - unwrap_key_
    - alg_id_value
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn unwrap_key<''a>(template: &Template,version: Version,input:
      untrusted::Input<''a>,) -> Result<(untrusted::Input<''a>, Option<untrusted::Input<''a>>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::read_all
      Src: /src/td-shim/library/ring/src/pkcs8.rs:99,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:99,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/pkcs8.rs:100,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:103,1
    - Dst: unwrap_key__
      Src: /src/td-shim/library/ring/src/pkcs8.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - alg_id
    - version
    - input
    argTypes:
    - untrusted::Input
    - Version
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: unwrap_key_
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 1
    functionsReached:
    - error::KeyRejected::invalid_encoding
    - der::nested
    - unwrap_key__
    - untrusted::Input::read_all
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn unwrap_key_<''a>(alg_id: untrusted::Input,version: Version,input:
      untrusted::Input<''a>,) -> Result<(untrusted::Input<''a>, Option<untrusted::Input<''a>>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::small_nonnegative_integer
      Src: /src/td-shim/library/ring/src/pkcs8.rs:114,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:114,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:115,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:123,1
    - Dst: error::KeyRejected::version_not_supported
      Src: /src/td-shim/library/ring/src/pkcs8.rs:123,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/pkcs8.rs:126,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:126,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:127,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/pkcs8.rs:128,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/pkcs8.rs:128,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:129,1
    - Dst: error::KeyRejected::wrong_algorithm
      Src: /src/td-shim/library/ring/src/pkcs8.rs:129,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/pkcs8.rs:135,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:137,1
    - Dst: error::KeyRejected::version_not_supported
      Src: /src/td-shim/library/ring/src/pkcs8.rs:137,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/pkcs8.rs:141,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:141,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:142,1
    - Dst: untrusted::Input::peek
      Src: /src/td-shim/library/ring/src/pkcs8.rs:145,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/pkcs8.rs:145,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/pkcs8.rs:146,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:146,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:147,1
    - Dst: untrusted::Input::at_end
      Src: /src/td-shim/library/ring/src/pkcs8.rs:151,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:152,1
    - Dst: error::KeyRejected::public_key_is_missing
      Src: /src/td-shim/library/ring/src/pkcs8.rs:152,1
    - Dst: untrusted::Input::peek
      Src: /src/td-shim/library/ring/src/pkcs8.rs:157,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/pkcs8.rs:157,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/pkcs8.rs:159,1
    - Dst: der::bit_string_tagged_with_no_unused_bits
      Src: /src/td-shim/library/ring/src/pkcs8.rs:166,1
    - Dst: TestResult::map_err
      Src: /src/td-shim/library/ring/src/pkcs8.rs:169,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/pkcs8.rs:169,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/pkcs8.rs:170,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/pkcs8.rs:175,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 3
    argNames:
    - alg_id
    - version
    - input
    argTypes:
    - untrusted::Input
    - Version
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 176
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 176
    functionName: unwrap_key__
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 1
    functionsReached:
    - error::KeyRejected::version_not_supported
    - TestResult::map_err
    - Result::map_err
    - der::expect_tag_and_get_value
    - into
    - untrusted::Input::as_slice_less_safe
    - untrusted::Input::at_end
    - der::bit_string_tagged_with_no_unused_bits
    - der::small_nonnegative_integer
    - error::KeyRejected::invalid_encoding
    - untrusted::Input::peek
    - as_slice_less_safe
    - Some
    - der::nested
    - error::KeyRejected::public_key_is_missing
    - Ok
    - error::KeyRejected::wrong_algorithm
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn unwrap_key__<''a>(alg_id: untrusted::Input,version: Version,input:
      &mut untrusted::Reader<''a>,) -> Result<(untrusted::Input<''a>, Option<untrusted::Input<''a>>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: Document::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/pkcs8.rs:194,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/pkcs8.rs:194,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/pkcs8.rs:194,1
    - Dst: wrap_key_
      Src: /src/td-shim/library/ring/src/pkcs8.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - template
    - private_key
    - public_key
    argTypes:
    - '&Template'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: wrap_key
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 0
    functionsReached:
    - wrap_key_
    - len
    - Result::len
    linkageType: ''
    returnType: Document
    signature: 'pub(crate) fn wrap_key(template: &Template, private_key: &[u8], public_key:
      &[u8]) -> Document'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at
      Src: /src/td-shim/library/ring/src/pkcs8.rs:209,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/pkcs8.rs:210,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/pkcs8.rs:211,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/pkcs8.rs:212,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/pkcs8.rs:213,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/pkcs8.rs:213,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/pkcs8.rs:215,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/pkcs8.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 4
    argNames:
    - template
    - private_key
    - public_key
    - bytes
    argTypes:
    - '&Template'
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: wrap_key_
    functionSourceFile: /src/td-shim/library/ring/src/pkcs8.rs
    functionUses: 2
    functionsReached:
    - Result::len
    - split_at
    - len
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'fn wrap_key_(template: &Template, private_key: &[u8], public_key:
      &[u8], bytes: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Algorithm::digest_algorithm
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: pub fn digest_algorithm(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/aead.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: Tag::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/hmac.rs:162,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/hmac.rs:162,1
    - Dst: Key::algorithm
      Src: /src/td-shim/library/ring/src/hmac.rs:163,1
    - Dst: Algorithm::digest_algorithm
      Src: /src/td-shim/library/ring/src/hmac.rs:163,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/hmac.rs:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: Key::fmt
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    - Key::algorithm
    - Algorithm::digest_algorithm
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::construct
      Src: /src/td-shim/library/ring/src/hmac.rs:180,1
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/td-shim/library/ring/src/hmac.rs:180,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/hmac.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - algorithm
    - rng
    argTypes:
    - Algorithm
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: Key::generate
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 3
    functionsReached:
    - cpu::features
    - Self::construct
    - '&dyn rand::SecureRandom::fill'
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(algorithm: Algorithm,rng: &dyn rand::SecureRandom,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_len
      Src: /src/td-shim/library/ring/src/hmac.rs:192,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/hmac.rs:193,1
    - Dst: Self::try_new
      Src: /src/td-shim/library/ring/src/hmac.rs:194,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/hmac.rs:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - algorithm
    - fill
    - cpu
    argTypes:
    - Algorithm
    - F
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: Key::construct
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - fill
    - Self::try_new
    - Result::map_err
    - output_len
    linkageType: ''
    returnType: Result
    signature: 'fn construct<F>(algorithm: Algorithm,fill: F,cpu: cpu::Features,)
      -> Result<Self, error::Unspecified>whereF: FnOnce(&mut [u8]) -> Result<(), error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htable_new
      Src: /src/td-shim/library/ring/src/aead/gcm/neon.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - value
    - _cpu
    argTypes:
    - KeyValue
    - RequiredCpuFeatures
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: Key::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/neon.rs
    functionUses: 20
    functionsReached:
    - htable_new
    linkageType: ''
    returnType: Self
    signature: 'pub(in super::super) fn new(value: KeyValue, _cpu: RequiredCpuFeatures)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::BlockContext::new
      Src: /src/td-shim/library/ring/src/hmac.rs:229,1
    - Dst: digest::BlockContext::new
      Src: /src/td-shim/library/ring/src/hmac.rs:230,1
    - Dst: Option::block_len
      Src: /src/td-shim/library/ring/src/hmac.rs:233,1
    - Dst: gcm::KeyValue::len
      Src: /src/td-shim/library/ring/src/hmac.rs:236,1
    - Dst: Digest::compute_from
      Src: /src/td-shim/library/ring/src/hmac.rs:239,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/hmac.rs:240,1
    - Dst: bb::xor_assign_at_start
      Src: /src/td-shim/library/ring/src/hmac.rs:251,1
    - Dst: update
      Src: /src/td-shim/library/ring/src/hmac.rs:253,1
    - Dst: bb::xor_assign
      Src: /src/td-shim/library/ring/src/hmac.rs:260,1
    - Dst: update
      Src: /src/td-shim/library/ring/src/hmac.rs:261,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/hmac.rs:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - algorithm
    - key_value
    - cpu_features
    argTypes:
    - Algorithm
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 265
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 265
    functionName: Key::try_new
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Option::block_len
    - gcm::KeyValue::len
    - Digest::compute_from
    - bb::xor_assign_at_start
    - as_ref
    - digest::BlockContext::new
    - Ok
    - bb::xor_assign
    - update
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_new(algorithm: Algorithm,key_value: &[u8],cpu_features:
      cpu::Features,) -> Result<Self, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Algorithm
      Src: /src/td-shim/library/ring/src/hmac.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: Key::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 1
    functionsReached:
    - Algorithm
    linkageType: ''
    returnType: Algorithm
    signature: pub fn algorithm(&self) -> Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::with_key
      Src: /src/td-shim/library/ring/src/hmac.rs:274,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/hmac.rs:275,1
    - Dst: Self::try_sign
      Src: /src/td-shim/library/ring/src/hmac.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - cpu
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: Key::sign
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Self::try_sign
    - Self::update
    - Context::with_key
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn sign(&self, data: &[u8], cpu: cpu::Features) -> Result<Tag,
      InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::sign
      Src: /src/td-shim/library/ring/src/hmac.rs:280,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/hmac.rs:280,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/td-shim/library/ring/src/hmac.rs:283,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/hmac.rs:283,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/hmac.rs:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - data
    - tag
    - cpu
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: Key::verify
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - map_err
    - as_ref
    - Result::map_err
    - Key::sign
    - bb::verify_slices_are_equal
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self, data: &[u8], tag: &[u8], cpu: cpu::Features) -> Result<(),
      VerifyError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:50,1
    - Dst: output_len
      Src: /src/td-shim/library/ring/src/hkdf.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Algorithm::len
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - digest_algorithm
    - output_len
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::construct
      Src: /src/td-shim/library/ring/src/hmac.rs:296,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/hmac.rs:296,1
    - Dst: Result::fill
      Src: /src/td-shim/library/ring/src/hmac.rs:296,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/hmac.rs:296,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/hmac.rs:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<Algorithm>
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: Key::from
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - cpu::features
    - Result::len
    - Result::fill
    - Self::construct
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/hmac.rs:311,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/hmac.rs:311,1
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/hmac.rs:312,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/hmac.rs:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: Context::fmt
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    - algorithm
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::clone_from
      Src: /src/td-shim/library/ring/src/hmac.rs:322,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/hmac.rs:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - signing_key
    argTypes:
    - '&Key'
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: Context::with_key
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 3
    functionsReached:
    - digest::Context::clone_from
    - clone
    linkageType: ''
    returnType: Self
    signature: 'pub fn with_key(signing_key: &Key) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::update_internal
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:62,1
    - Dst: untrusted::Input::as_flattened
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - input
    argTypes:
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Context::update
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - Context::update_internal
    - untrusted::Input::as_flattened
    linkageType: ''
    returnType: void
    signature: 'pub fn update(&mut self, input: AsChunks<u8, BLOCK_LEN>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::try_sign
      Src: /src/td-shim/library/ring/src/hmac.rs:341,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/hmac.rs:341,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/hmac.rs:341,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/hmac.rs:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: Context::sign
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - Result::map_err
    - Context::try_sign
    - unwrap
    linkageType: ''
    returnType: Tag
    signature: pub fn sign(self) -> Tag
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_finish
      Src: /src/td-shim/library/ring/src/hmac.rs:351,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/hmac.rs:352,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/hmac.rs:353,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/hmac.rs:357,1
    - Dst: try_finish
      Src: /src/td-shim/library/ring/src/hmac.rs:359,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/hmac.rs:359,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/hmac.rs:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 376
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 376
    functionName: Context::try_sign
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 1
    functionsReached:
    - map_err
    - len
    - as_ref
    - copy_from_slice
    - map
    - try_finish
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_sign(self, cpu_features: cpu::Features) -> Result<Tag,
      InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bench_function'
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:37,1
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:38,1
    - Dst: EcdsaKeyPair::generate_pkcs8
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:39,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:39,1
    - Dst: EcdsaKeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:40,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:40,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:40,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:42,1
    - Dst: sign
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:43,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:43,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/bench/ecdsa.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 47
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 47
    functionName: sign
    functionSourceFile: /src/td-shim/library/ring/bench/ecdsa.rs
    functionUses: 12
    functionsReached:
    - EcdsaKeyPair::from_pkcs8
    - '!::bench_function'
    - as_ref
    - Option::iter
    - Result::unwrap
    - rand::SystemRandom::new
    - unwrap
    - EcdsaKeyPair::generate_pkcs8
    - criterion::black_box
    - sign
    linkageType: ''
    returnType: void
    signature: 'fn sign(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bench_function'
      Src: /src/td-shim/library/ring/bench/rsa.rs:64,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/bench/rsa.rs:69,1
    - Dst: UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/bench/rsa.rs:71,1
    - Dst: Result::verify
      Src: /src/td-shim/library/ring/bench/rsa.rs:72,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/rsa.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: verify
    functionSourceFile: /src/td-shim/library/ring/bench/rsa.rs
    functionUses: 10
    functionsReached:
    - '!::bench_function'
    - Option::iter
    - Result::unwrap
    - UnparsedPublicKey::new
    - Result::verify
    linkageType: ''
    returnType: void
    signature: 'fn verify(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/src/hmac.rs:423,1
    - Dst: hmac::Key::generate
      Src: /src/td-shim/library/ring/src/hmac.rs:434,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/hmac.rs:434,1
    - Dst: hmac::sign
      Src: /src/td-shim/library/ring/src/hmac.rs:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 422
    functionDepth: 7
    functionLinenumber: 422
    functionLinenumberEnd: 439
    functionName: tests::hmac_signing_key_coverage
    functionSourceFile: /src/td-shim/library/ring/src/hmac.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - hmac::sign
    - rand::SystemRandom::new
    - hmac::Key::generate
    linkageType: ''
    returnType: void
    signature: pub fn hmac_signing_key_coverage()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:45,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/limb.rs:45,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:46,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/limb.rs:46,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:46,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:48,1
    - Dst: Self::IntoIter::zip
      Src: /src/td-shim/library/ring/src/limb.rs:48,1
    - Dst: fold
      Src: /src/td-shim/library/ring/src/limb.rs:48,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:49,1
    - Dst: limb_is_zero
      Src: /src/td-shim/library/ring/src/limb.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: limbs_equal_limbs_consttime
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - len
    - fold
    - Self::IntoIter::zip
    - limb_is_zero
    - LenMismatchError::new
    - core::iter
    - Ok
    - Option::len
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_equal_limbs_consttime(a: &[Limb], b: &[Limb]) -> Result<LimbMask,
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/limb.rs:62,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/limb.rs:62,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/td-shim/library/ring/src/limb.rs:62,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/limb.rs:62,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:62,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:63,1
    - Dst: usize::get
      Src: /src/td-shim/library/ring/src/limb.rs:63,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:64,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/limb.rs:64,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:64,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:66,1
    - Dst: LIMBS_less_than
      Src: /src/td-shim/library/ring/src/limb.rs:66,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/limb.rs:66,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/limb.rs:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 67
      start: 53
    functionDepth: 8
    functionLinenumber: 53
    functionLinenumberEnd: 67
    functionName: limbs_less_than_limbs
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - len
    - LenMismatchError::new
    - OnceNonZeroUsize::ok_or_else
    - as_ptr
    - Ok
    - NonZeroUsize::new
    - LIMBS_less_than
    - Option::as_ptr
    - Option::len
    - usize::get
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn limbs_less_than_limbs(a: &[Limb], b: &[Limb]) -> Result<LimbMask,
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_less_than_limbs
      Src: /src/td-shim/library/ring/src/limb.rs:74,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/limb.rs:74,1
    - Dst: Result::leak
      Src: /src/td-shim/library/ring/src/limb.rs:75,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:76,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 80
      start: 70
    functionDepth: 9
    functionLinenumber: 70
    functionLinenumberEnd: 80
    functionName: verify_limbs_less_than_limbs_leak_bit
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Result::leak
    - Result::map_err
    - limbs_less_than_limbs
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_limbs_less_than_limbs_leak_bit(a: &[Limb],b:
      &[Limb],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_less_than_limbs
      Src: /src/td-shim/library/ring/src/limb.rs:84,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:85,1
    - Dst: Result::leak
      Src: /src/td-shim/library/ring/src/limb.rs:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 9
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: limbs_less_than_limbs_vartime
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - limbs_less_than_limbs
    - Ok
    - Result::leak
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_less_than_limbs_vartime(a: &[Limb], b: &[Limb]) -> Result<bool,
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIMB_is_zero
      Src: /src/td-shim/library/ring/src/limb.rs:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - limb
    argTypes:
    - Limb
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: limb_is_zero
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - LIMB_is_zero
    linkageType: ''
    returnType: LimbMask
    signature: 'fn limb_is_zero(limb: Limb) -> LimbMask'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_is_zero
      Src: /src/td-shim/library/ring/src/limb.rs:98,1
    - Dst: Result::iter
      Src: /src/td-shim/library/ring/src/limb.rs:98,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/library/ring/src/limb.rs:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - limbs
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: limbs_are_zero
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Result::iter
    - Self::IntoIter::fold
    - limb_is_zero
    linkageType: ''
    returnType: LimbMask
    signature: 'pub fn limbs_are_zero(limbs: &[Limb]) -> LimbMask'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::first
      Src: /src/td-shim/library/ring/src/limb.rs:106,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/limb.rs:106,1
    - Dst: limb_is_zero
      Src: /src/td-shim/library/ring/src/limb.rs:107,1
    - Dst: LimbMask::leak
      Src: /src/td-shim/library/ring/src/limb.rs:107,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:108,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - limbs
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: limbs_reject_even_leak_bit
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - LimbMask::leak
    - limb_is_zero
    - Result::first
    - Ok
    - ok_or
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_reject_even_leak_bit(limbs: &[Limb]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb_is_zero
      Src: /src/td-shim/library/ring/src/limb.rs:117,1
    - Dst: limbs_are_zero
      Src: /src/td-shim/library/ring/src/limb.rs:117,1
    - Dst: leak
      Src: /src/td-shim/library/ring/src/limb.rs:118,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:119,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: verify_limbs_equal_1_leak_bit
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - leak
    - limb_is_zero
    - Ok
    - Err
    - limbs_are_zero
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_limbs_equal_1_leak_bit(a: &[Limb]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:134,1
    - Dst: rev
      Src: /src/td-shim/library/ring/src/limb.rs:134,1
    - Dst: rev
      Src: /src/td-shim/library/ring/src/limb.rs:141,1
    - Dst: LIMB_shr
      Src: /src/td-shim/library/ring/src/limb.rs:142,1
    - Dst: bits::BitLength::from_bits
      Src: /src/td-shim/library/ring/src/limb.rs:144,1
    - Dst: bits::BitLength::from_bits
      Src: /src/td-shim/library/ring/src/limb.rs:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: limbs_minimal_bits
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - bits::BitLength::from_bits
    - len
    - LIMB_shr
    - rev
    linkageType: ''
    returnType: bits::BitLength
    signature: 'pub fn limbs_minimal_bits(a: &[Limb]) -> bits::BitLength'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/limb.rs:161,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/limb.rs:161,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/td-shim/library/ring/src/limb.rs:161,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/limb.rs:161,1
    - Dst: u8::len
      Src: /src/td-shim/library/ring/src/limb.rs:161,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/limb.rs:162,1
    - Dst: u8::as_ptr
      Src: /src/td-shim/library/ring/src/limb.rs:163,1
    - Dst: LIMBS_reduce_once
      Src: /src/td-shim/library/ring/src/limb.rs:164,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 166
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 166
    functionName: limbs_reduce_once
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - u8::len
    - LIMBS_reduce_once
    - LenMismatchError::new
    - Result::as_mut_ptr
    - OnceNonZeroUsize::ok_or_else
    - u8::as_ptr
    - Result::len
    - Ok
    - NonZeroUsize::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn limbs_reduce_once(r: &mut [Limb], m: &[Limb]) -> Result<(),
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_big_endian_and_pad_consttime
      Src: /src/td-shim/library/ring/src/limb.rs:188,1
    - Dst: verify_limbs_less_than_limbs_leak_bit
      Src: /src/td-shim/library/ring/src/limb.rs:189,1
    - Dst: limbs_are_zero
      Src: /src/td-shim/library/ring/src/limb.rs:191,1
    - Dst: LimbMask::leak
      Src: /src/td-shim/library/ring/src/limb.rs:191,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:192,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - input
    - allow_zero
    - max_exclusive
    - result
    argTypes:
    - untrusted::Input
    - AllowZero
    - '&[Limb]'
    - '&mut [Limb]'
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 10
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: parse_big_endian_in_range_and_pad_consttime
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - LimbMask::leak
    - verify_limbs_less_than_limbs_leak_bit
    - Ok
    - Err
    - limbs_are_zero
    - parse_big_endian_and_pad_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse_big_endian_in_range_and_pad_consttime(input: untrusted::Input,allow_zero:
      AllowZero,max_exclusive: &[Limb],result: &mut [Limb],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::is_empty
      Src: /src/td-shim/library/ring/src/limb.rs:205,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:206,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/limb.rs:208,1
    - Dst: rchunks
      Src: /src/td-shim/library/ring/src/limb.rs:208,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:208,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/td-shim/library/ring/src/limb.rs:210,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/limb.rs:210,1
    - Dst: Limb::from_be_bytes
      Src: /src/td-shim/library/ring/src/limb.rs:211,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/limb.rs:213,1
    - Dst: TestResult::len
      Src: /src/td-shim/library/ring/src/limb.rs:213,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/limb.rs:214,1
    - Dst: TestResult::iter_mut
      Src: /src/td-shim/library/ring/src/limb.rs:217,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/limb.rs:217,1
    - Dst: chain
      Src: /src/td-shim/library/ring/src/limb.rs:219,1
    - Dst: iter::repeat
      Src: /src/td-shim/library/ring/src/limb.rs:219,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/limb.rs:217,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/limb.rs:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 2
    argNames:
    - input
    - result
    argTypes:
    - untrusted::Input
    - '&mut [Limb]'
    constantsTouched: []
    func_position:
      end: 223
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 223
    functionName: parse_big_endian_and_pad_consttime
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - TestResult::len
    - len
    - untrusted::Input::is_empty
    - rchunks
    - map
    - iter::repeat
    - sliceutil::overwrite_at_start
    - untrusted::Input::as_slice_less_safe
    - zip
    - Limb::from_be_bytes
    - Result::len
    - Ok
    - chain
    - for_each
    - TestResult::iter_mut
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn parse_big_endian_and_pad_consttime(input: untrusted::Input,result:
      &mut [Limb],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unstripped_be_bytes
      Src: /src/td-shim/library/ring/src/limb.rs:226,1
    - Dst: PathBuf::iter_mut
      Src: /src/td-shim/library/ring/src/limb.rs:228,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/limb.rs:228,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/limb.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - limbs
    - out
    argTypes:
    - '&[Limb]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: big_endian_from_limbs
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - for_each
    - unstripped_be_bytes
    - PathBuf::iter_mut
    - zip
    linkageType: ''
    returnType: void
    signature: 'pub fn big_endian_from_limbs(limbs: &[Limb], out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ArrayFlatMap::new
      Src: /src/td-shim/library/ring/src/limb.rs:239,1
    - Dst: Result::iter
      Src: /src/td-shim/library/ring/src/limb.rs:239,1
    - Dst: Self::IntoIter::rev
      Src: /src/td-shim/library/ring/src/limb.rs:239,1
    - Dst: copied
      Src: /src/td-shim/library/ring/src/limb.rs:239,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/src/limb.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - limbs
    argTypes:
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: unstripped_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 1
    functionsReached:
    - Self::IntoIter::rev
    - Option::unwrap
    - ArrayFlatMap::new
    - Result::iter
    - copied
    linkageType: ''
    returnType: impl ExactSizeIterator
    signature: 'pub fn unstripped_be_bytes(limbs: &[Limb]) -> impl ExactSizeIterator<Item
      = u8> + Clone + ''_'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/limb.rs:281,1
    - Dst: BitIndex
      Src: /src/td-shim/library/ring/src/limb.rs:288,1
    - Dst: core::num::Wrapping
      Src: /src/td-shim/library/ring/src/limb.rs:288,1
    - Dst: LIMBS_window5_split_window
      Src: /src/td-shim/library/ring/src/limb.rs:293,1
    - Dst: Result::first
      Src: /src/td-shim/library/ring/src/limb.rs:293,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/limb.rs:293,1
    - Dst: init
      Src: /src/td-shim/library/ring/src/limb.rs:295,1
    - Dst: Limb::from
      Src: /src/td-shim/library/ring/src/limb.rs:298,1
    - Dst: Result::iter
      Src: /src/td-shim/library/ring/src/limb.rs:299,1
    - Dst: Self::IntoIter::fold
      Src: /src/td-shim/library/ring/src/limb.rs:299,1
    - Dst: core::num::Wrapping
      Src: /src/td-shim/library/ring/src/limb.rs:303,1
    - Dst: LIMBS_window5_split_window
      Src: /src/td-shim/library/ring/src/limb.rs:305,1
    - Dst: fold
      Src: /src/td-shim/library/ring/src/limb.rs:307,1
    - Dst: core::num::Wrapping
      Src: /src/td-shim/library/ring/src/limb.rs:309,1
    - Dst: LIMBS_window5_unsplit_window
      Src: /src/td-shim/library/ring/src/limb.rs:310,1
    - Dst: fold
      Src: /src/td-shim/library/ring/src/limb.rs:314,1
    - Dst: core::num::Wrapping
      Src: /src/td-shim/library/ring/src/limb.rs:316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 65
    argCount: 3
    argNames:
    - limbs
    - init
    - fold
    argTypes:
    - '&[Limb]'
    - I
    - F
    constantsTouched: []
    func_position:
      end: 320
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 320
    functionName: fold_5_bit_windows
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - fold
    - core::num::Wrapping
    - LIMBS_window5_unsplit_window
    - BitIndex
    - Self::IntoIter::fold
    - unwrap
    - init
    - Result::len
    - Result::first
    - Limb::from
    - LIMBS_window5_split_window
    - Result::iter
    linkageType: ''
    returnType: R
    signature: 'pub fn fold_5_bit_windows<R, I: FnOnce(Window) -> R, F: Fn(R, Window)
      -> R>(limbs: &[Limb],init: I,fold: F,) -> R'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/limb.rs:338,1
    - Dst: u8::len
      Src: /src/td-shim/library/ring/src/limb.rs:338,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/td-shim/library/ring/src/limb.rs:338,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/limb.rs:338,1
    - Dst: u8::len
      Src: /src/td-shim/library/ring/src/limb.rs:338,1
    - Dst: with_non_dangling_non_null_pointers_rab
      Src: /src/td-shim/library/ring/src/limb.rs:339,1
    - Dst: u8::as_ptr
      Src: /src/td-shim/library/ring/src/limb.rs:340,1
    - Dst: LIMBS_add_mod
      Src: /src/td-shim/library/ring/src/limb.rs:341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: limbs_add_assign_mod
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - with_non_dangling_non_null_pointers_rab
    - u8::len
    - LenMismatchError::new
    - LIMBS_add_mod
    - OnceNonZeroUsize::ok_or_else
    - u8::as_ptr
    - NonZeroUsize::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn limbs_add_assign_mod(a: &mut [Limb],b: &[Limb],m: &[Limb],)
      -> Result<(), LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/limb.rs:355,1
    - Dst: u8::len
      Src: /src/td-shim/library/ring/src/limb.rs:355,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/td-shim/library/ring/src/limb.rs:355,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/limb.rs:355,1
    - Dst: u8::len
      Src: /src/td-shim/library/ring/src/limb.rs:355,1
    - Dst: Result::with_non_dangling_non_null_pointers_ra
      Src: /src/td-shim/library/ring/src/limb.rs:356,1
    - Dst: u8::as_ptr
      Src: /src/td-shim/library/ring/src/limb.rs:357,1
    - Dst: LIMBS_shl_mod
      Src: /src/td-shim/library/ring/src/limb.rs:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 362
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 362
    functionName: limbs_double_mod
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - LIMBS_shl_mod
    - u8::len
    - LenMismatchError::new
    - Result::with_non_dangling_non_null_pointers_ra
    - OnceNonZeroUsize::ok_or_else
    - u8::as_ptr
    - NonZeroUsize::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn limbs_double_mod(r: &mut [Limb], m: &[Limb]) -> Result<(),
      LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::iter_mut
      Src: /src/td-shim/library/ring/src/limb.rs:369,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/limb.rs:369,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:369,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/limb.rs:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: limbs_negative_odd
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - for_each
    - core::iter
    - Result::iter_mut
    - zip
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn limbs_negative_odd(r: &mut [Limb], a: &[Limb])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: leak
      Src: /src/td-shim/library/ring/src/bb/mod.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - BoolMask
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tests::leak_in_test
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - leak
    linkageType: ''
    returnType: bool
    signature: 'fn leak_in_test(a: BoolMask) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:409,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:409,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/limb.rs:409,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:409,1
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:426,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:426,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/limb.rs:426,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 429
    functionName: tests::test_limbs_are_even
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::copied
    - map
    - core::iter
    - Vec::from_iter
    linkageType: ''
    returnType: void
    signature: fn test_limbs_are_even()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:456,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:456,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/limb.rs:456,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:456,1
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:460,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:460,1
    - Dst: copied
      Src: /src/td-shim/library/ring/src/limb.rs:460,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 463
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 463
    functionName: tests::test_limbs_are_zero
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::copied
    - map
    - core::iter
    - copied
    - Vec::from_iter
    linkageType: ''
    returnType: void
    signature: fn test_limbs_are_zero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:470,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:470,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/limb.rs:470,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:470,1
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:488,1
    - Dst: core::iter
      Src: /src/td-shim/library/ring/src/limb.rs:488,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/limb.rs:488,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: tests::test_limbs_equal_limb
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::copied
    - map
    - core::iter
    - Vec::from_iter
    linkageType: ''
    returnType: void
    signature: fn test_limbs_equal_limb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/limb.rs:502,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:503,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/limb.rs:510,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:511,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/limb.rs:518,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:519,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/limb.rs:530,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 583
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 583
    functionName: tests::test_parse_big_endian_and_pad_consttime
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - map
    linkageType: ''
    returnType: void
    signature: fn test_parse_big_endian_and_pad_consttime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::map
      Src: /src/td-shim/library/ring/src/limb.rs:601,1
    - Dst: big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/limb.rs:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 612
    functionName: tests::test_big_endian_from_limbs_same_length
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Result::map
    - big_endian_from_limbs
    linkageType: ''
    returnType: void
    signature: fn test_big_endian_from_limbs_same_length()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::map
      Src: /src/td-shim/library/ring/src/limb.rs:631,1
    - Dst: big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/limb.rs:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 636
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 636
    functionName: tests::test_big_endian_from_limbs_fewer_limbs
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Result::map
    - big_endian_from_limbs
    linkageType: ''
    returnType: void
    signature: fn test_big_endian_from_limbs_fewer_limbs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::from_iter
      Src: /src/td-shim/library/ring/src/limb.rs:658,1
    - Dst: Result::iter
      Src: /src/td-shim/library/ring/src/limb.rs:658,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/limb.rs:658,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/limb.rs:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 661
    functionName: tests::test_limbs_minimal_bits
    functionSourceFile: /src/td-shim/library/ring/src/limb.rs
    functionUses: 0
    functionsReached:
    - Result::iter
    - map
    - Self::IntoIter::copied
    - Vec::from_iter
    linkageType: ''
    returnType: void
    signature: fn test_limbs_minimal_bits()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pub
      Src: /src/td-shim/library/ring/src/cpu.rs:5,1
    - Dst: impl
      Src: /src/td-shim/library/ring/src/cpu.rs:8,1
    - Dst: get_feature
      Src: /src/td-shim/library/ring/src/cpu.rs:17,1
    - Dst: $Name::mask
      Src: /src/td-shim/library/ring/src/cpu.rs:18,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/cpu.rs:21,1
    - Dst: impl_get_feature::cpu
      Src: /src/td-shim/library/ring/src/cpu.rs:21,1
    - Dst: impl_get_feature::values
      Src: /src/td-shim/library/ring/src/cpu.rs:24,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/cpu.rs:25,1
    - Dst: impl_get_feature::cpu
      Src: /src/td-shim/library/ring/src/cpu.rs:25,1
    - Dst: repr
      Src: /src/td-shim/library/ring/src/cpu.rs:33,1
    - Dst: Shift
      Src: /src/td-shim/library/ring/src/cpu.rs:34,1
    - Dst: cfg
      Src: /src/td-shim/library/ring/src/cpu.rs:40,1
    - Dst: cfg
      Src: /src/td-shim/library/ring/src/cpu.rs:43,1
    - Dst: any
      Src: /src/td-shim/library/ring/src/cpu.rs:43,1
    - Dst: all
      Src: /src/td-shim/library/ring/src/cpu.rs:43,1
    - Dst: all
      Src: /src/td-shim/library/ring/src/cpu.rs:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 74
    functionName: impl_get_feature
    functionSourceFile: /src/td-shim/library/ring/src/cpu.rs
    functionUses: 0
    functionsReached:
    - impl
    - Shift
    - cfg
    - all
    - impl_get_feature::values
    - any
    - Some
    - impl_get_feature::cpu
    - get_feature
    - pub
    - repr
    - $Name::mask
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: features::Values::get_feature
      Src: /src/td-shim/library/ring/src/cpu.rs:109,1
    - Dst: features::Values::get_feature
      Src: /src/td-shim/library/ring/src/cpu.rs:109,1
    - Dst: features::Values::get_feature
      Src: /src/td-shim/library/ring/src/cpu.rs:109,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/cpu.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: features::Values::get_feature
    functionSourceFile: /src/td-shim/library/ring/src/cpu.rs
    functionUses: 1
    functionsReached:
    - Some
    - features::Values::get_feature
    linkageType: ''
    returnType: Option
    signature: fn get_feature(&self) -> Option<(A, B, C)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Features::values
      Src: /src/td-shim/library/ring/src/cpu.rs:122,1
    - Dst: get_feature
      Src: /src/td-shim/library/ring/src/cpu.rs:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: Features::get_feature
    functionSourceFile: /src/td-shim/library/ring/src/cpu.rs
    functionUses: 0
    functionsReached:
    - get_feature
    - Features::values
    linkageType: ''
    returnType: Option
    signature: fn get_feature(&self) -> Option<F>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: featureflags::get_or_init
      Src: /src/td-shim/library/ring/src/cpu.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: features
    functionSourceFile: /src/td-shim/library/ring/src/cpu.rs
    functionUses: 4
    functionsReached:
    - featureflags::get_or_init
    linkageType: ''
    returnType: Features
    signature: pub(crate) fn features() -> Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: features
      Src: /src/td-shim/library/ring/src/cpu.rs:227,1
    - Dst: featureflags::get
      Src: /src/td-shim/library/ring/src/cpu.rs:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: tests::test_static_is_subset_of_dynamic
    functionSourceFile: /src/td-shim/library/ring/src/cpu.rs
    functionUses: 0
    functionsReached:
    - features
    - featureflags::get
    linkageType: ''
    returnType: void
    signature: fn test_static_is_subset_of_dynamic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:173,1
    - Dst: try_derive
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:174,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:174,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - algorithm
    - iterations
    - salt
    - secret
    - out
    argTypes:
    - Algorithm
    - NonZeroU32
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: derive
    functionSourceFile: /src/td-shim/library/ring/src/pbkdf2.rs
    functionUses: 2
    functionsReached:
    - cpu::features
    - unwrap
    - Result::map_err
    - try_derive
    linkageType: ''
    returnType: void
    signature: 'pub fn derive(algorithm: Algorithm,iterations: NonZeroU32,salt: &[u8],secret:
      &[u8],out: &mut [u8],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_algorithm
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:187,1
    - Dst: Option::output_len
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:188,1
    - Dst: hmac::Key::try_new
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:196,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:196,1
    - Dst: PathBuf::fill
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:199,1
    - Dst: PathBuf::len
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:203,1
    - Dst: PathBuf::chunks_mut
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:204,1
    - Dst: checked_add
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:205,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:205,1
    - Dst: DeriveError::too_much_output_requested
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:206,1
    - Dst: TooMuchOutputRequestedError::new
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:206,1
    - Dst: derive_block
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:210,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:210,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 6
    argNames:
    - algorithm
    - iterations
    - salt
    - secret
    - out
    - cpu
    argTypes:
    - Algorithm
    - NonZeroU32
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 214
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 214
    functionName: try_derive
    functionSourceFile: /src/td-shim/library/ring/src/pbkdf2.rs
    functionUses: 1
    functionsReached:
    - derive_block
    - ok_or_else
    - TooMuchOutputRequestedError::new
    - Result::map_err
    - PathBuf::chunks_mut
    - Ok
    - Option::output_len
    - digest_algorithm
    - hmac::Key::try_new
    - checked_add
    - PathBuf::len
    - PathBuf::fill
    - DeriveError::too_much_output_requested
    linkageType: ''
    returnType: Result
    signature: 'fn try_derive(algorithm: Algorithm,iterations: NonZeroU32,salt: &[u8],secret:
      &[u8],out: &mut [u8],cpu: cpu::Features,) -> Result<(), DeriveError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::Context::with_key
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:224,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:225,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:226,1
    - Dst: u32::to_be_bytes
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:226,1
    - Dst: Self::try_sign
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:228,1
    - Dst: NonZeroU32::into
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:230,1
    - Dst: bb::xor_assign_at_start
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:232,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:232,1
    - Dst: '&hmac::Key::sign'
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:242,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:242,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:244,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 6
    argNames:
    - secret
    - iterations
    - salt
    - idx
    - out
    - cpu
    argTypes:
    - '&hmac::Key'
    - NonZeroU32
    - '&[u8]'
    - u32
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 245
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 245
    functionName: derive_block
    functionSourceFile: /src/td-shim/library/ring/src/pbkdf2.rs
    functionUses: 1
    functionsReached:
    - Self::try_sign
    - bb::xor_assign_at_start
    - Result::as_ref
    - '&hmac::Key::sign'
    - u32::to_be_bytes
    - Self::update
    - NonZeroU32::into
    - Ok
    - hmac::Context::with_key
    linkageType: ''
    returnType: Result
    signature: 'fn derive_block(secret: &hmac::Key,iterations: NonZeroU32,salt: &[u8],idx:
      u32,out: &mut [u8],cpu: cpu::Features,) -> Result<(), InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_algorithm
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:299,1
    - Dst: '&[u8]::is_empty'
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:301,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:302,1
    - Dst: VerifyError::previously_derived_empty
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:302,1
    - Dst: Option::output_len
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:307,1
    - Dst: hmac::Key::try_new
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:309,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:309,1
    - Dst: '&[u8]::chunks'
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:314,1
    - Dst: checked_add
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:315,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:315,1
    - Dst: VerifyError::mismatch
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:318,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:321,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:322,1
    - Dst: derive_block
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:324,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:324,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:330,1
    - Dst: is_ok
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:330,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:340,1
    - Dst: VerifyError::mismatch
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:340,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/pbkdf2.rs:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 62
    argCount: 6
    argNames:
    - algorithm
    - iterations
    - salt
    - secret
    - previously_derived
    - cpu
    argTypes:
    - Algorithm
    - NonZeroU32
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 344
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 344
    functionName: try_verify
    functionSourceFile: /src/td-shim/library/ring/src/pbkdf2.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::chunks'
    - len
    - derive_block
    - ok_or_else
    - Result::map_err
    - is_ok
    - fill
    - VerifyError::mismatch
    - '&[u8]::is_empty'
    - Option::output_len
    - digest_algorithm
    - VerifyError::previously_derived_empty
    - hmac::Key::try_new
    - bb::verify_slices_are_equal
    - checked_add
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn try_verify(algorithm: Algorithm,iterations: NonZeroU32,salt: &[u8],secret:
      &[u8],previously_derived: &[u8],cpu: cpu::Features,) -> Result<(), VerifyError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: compile_time_assert_clone
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_clone<T: Clone>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 135
    functionName: compile_time_assert_copy
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_copy<T: Copy>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: compile_time_assert_eq
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_eq<T: Eq>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: compile_time_assert_send
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_send<T: Send>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: compile_time_assert_sync
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_sync<T: Sync>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: compile_time_assert_std_error_error
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub const fn compile_time_assert_std_error_error<T: std::error::Error>()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:167,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/src/testutil.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: TestCase::consume_bool
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - TestCase::consume_string
    - String::as_ref
    linkageType: ''
    returnType: bool
    signature: 'pub fn consume_bool(&mut self, key: &str) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:180,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/src/testutil.rs:181,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:182,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:184,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:185,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:186,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: TestCase::consume_digest_alg
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Some
    - TestCase::consume_string
    - String::as_ref
    linkageType: ''
    returnType: Option
    signature: 'pub fn consume_digest_alg(&mut self, key: &str) -> Option<&''static
      digest::Algorithm>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_optional_bytes
      Src: /src/td-shim/library/ring/src/testutil.rs:196,1
    - Dst: Option::unwrap_or_else
      Src: /src/td-shim/library/ring/src/testutil.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: TestCase::consume_bytes
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap_or_else
    - TestCase::consume_optional_bytes
    linkageType: ''
    returnType: Vec
    signature: 'pub fn consume_bytes(&mut self, key: &str) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_optional_string
      Src: /src/td-shim/library/ring/src/testutil.rs:203,1
    - Dst: '&[u8]::as_bytes'
      Src: /src/td-shim/library/ring/src/testutil.rs:204,1
    - Dst: '&[u8]::iter'
      Src: /src/td-shim/library/ring/src/testutil.rs:206,1
    - Dst: Vec::with_capacity
      Src: /src/td-shim/library/ring/src/testutil.rs:207,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/testutil.rs:207,1
    - Dst: '&[u8]::next'
      Src: /src/td-shim/library/ring/src/testutil.rs:209,1
    - Dst: '&[u8]::next'
      Src: /src/td-shim/library/ring/src/testutil.rs:211,1
    - Dst: '&[u8]::next'
      Src: /src/td-shim/library/ring/src/testutil.rs:218,1
    - Dst: Option::expect
      Src: /src/td-shim/library/ring/src/testutil.rs:218,1
    - Dst: '&[u8]::next'
      Src: /src/td-shim/library/ring/src/testutil.rs:219,1
    - Dst: Option::expect
      Src: /src/td-shim/library/ring/src/testutil.rs:219,1
    - Dst: from_hex_digit
      Src: /src/td-shim/library/ring/src/testutil.rs:220,1
    - Dst: from_hex_digit
      Src: /src/td-shim/library/ring/src/testutil.rs:220,1
    - Dst: '&[u8]::next'
      Src: /src/td-shim/library/ring/src/testutil.rs:233,1
    - Dst: Option::is_some
      Src: /src/td-shim/library/ring/src/testutil.rs:233,1
    - Dst: '&[u8]::push'
      Src: /src/td-shim/library/ring/src/testutil.rs:241,1
    - Dst: from_hex
      Src: /src/td-shim/library/ring/src/testutil.rs:246,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 254
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 254
    functionName: TestCase::consume_optional_bytes
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 1
    functionsReached:
    - '&[u8]::iter'
    - '&[u8]::push'
    - from_hex_digit
    - TestCase::consume_optional_string
    - from_hex
    - '&[u8]::len'
    - Some
    - '&[u8]::as_bytes'
    - Option::is_some
    - Vec::with_capacity
    - Option::expect
    - '&[u8]::next'
    linkageType: ''
    returnType: Option
    signature: 'pub fn consume_optional_bytes(&mut self, key: &str) -> Option<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:259,1
    - Dst: parse::<usize>
      Src: /src/td-shim/library/ring/src/testutil.rs:260,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/testutil.rs:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: TestCase::consume_usize
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - TestCase::consume_string
    - parse::<usize>
    - unwrap
    linkageType: ''
    returnType: usize
    signature: 'pub fn consume_usize(&mut self, key: &str) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:266,1
    - Dst: parse::<usize>
      Src: /src/td-shim/library/ring/src/testutil.rs:267,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/testutil.rs:267,1
    - Dst: bits::BitLength::from_bits
      Src: /src/td-shim/library/ring/src/testutil.rs:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: TestCase::consume_usize_bits
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - bits::BitLength::from_bits
    - TestCase::consume_string
    - parse::<usize>
    - unwrap
    linkageType: ''
    returnType: bits::BitLength
    signature: 'pub fn consume_usize_bits(&mut self, key: &str) -> bits::BitLength'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TestCase::consume_optional_string
      Src: /src/td-shim/library/ring/src/testutil.rs:274,1
    - Dst: Option::unwrap_or_else
      Src: /src/td-shim/library/ring/src/testutil.rs:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: TestCase::consume_string
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 4
    functionsReached:
    - TestCase::consume_optional_string
    - Option::unwrap_or_else
    linkageType: ''
    returnType: String
    signature: 'pub fn consume_string(&mut self, key: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:287,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/testutil.rs:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: TestCase::consume_optional_string
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 2
    functionsReached:
    - Some
    - clone
    linkageType: ''
    returnType: Option
    signature: 'pub fn consume_optional_string(&mut self, key: &str) -> Option<String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: test_vector_file
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::len'
      Src: /src/td-shim/library/ring/src/testutil.rs:366,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/testutil.rs:367,1
    - Dst: String::from
      Src: /src/td-shim/library/ring/src/testutil.rs:367,1
    - Dst: Vec::with_capacity
      Src: /src/td-shim/library/ring/src/testutil.rs:372,1
    - Dst: '&str::len'
      Src: /src/td-shim/library/ring/src/testutil.rs:372,1
    - Dst: '&str::as_bytes'
      Src: /src/td-shim/library/ring/src/testutil.rs:373,1
    - Dst: '&[u8]::chunks'
      Src: /src/td-shim/library/ring/src/testutil.rs:373,1
    - Dst: from_hex_digit
      Src: /src/td-shim/library/ring/src/testutil.rs:374,1
    - Dst: from_hex_digit
      Src: /src/td-shim/library/ring/src/testutil.rs:375,1
    - Dst: TestResult::push
      Src: /src/td-shim/library/ring/src/testutil.rs:376,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 1
    argNames:
    - hex_str
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: from_hex
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 2
    functionsReached:
    - '&[u8]::chunks'
    - '&str::len'
    - '&str::as_bytes'
    - from_hex_digit
    - TestResult::push
    - Ok
    - String::from
    - Vec::with_capacity
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_hex(hex_str: &str) -> Result<Vec<u8>, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::contains
      Src: /src/td-shim/library/ring/src/testutil.rs:387,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:388,1
    - Dst: Result::start
      Src: /src/td-shim/library/ring/src/testutil.rs:388,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/testutil.rs:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - d
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: from_hex_digit
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 2
    functionsReached:
    - Result::contains
    - Ok
    - Result::start
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn from_hex_digit(d: u8) -> Result<u8, String>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/td-shim/library/ring/src/testutil.rs:398,1
    - Dst: '&mut dyn Iterator<Item = &str>::next'
      Src: /src/td-shim/library/ring/src/testutil.rs:402,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:418,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/testutil.rs:424,1
    - Dst: Option::starts_with
      Src: /src/td-shim/library/ring/src/testutil.rs:430,1
    - Dst: Option::starts_with
      Src: /src/td-shim/library/ring/src/testutil.rs:432,1
    - Dst: '&mut String::truncate'
      Src: /src/td-shim/library/ring/src/testutil.rs:435,1
    - Dst: '&mut String::push_str'
      Src: /src/td-shim/library/ring/src/testutil.rs:436,1
    - Dst: '&mut String::pop'
      Src: /src/td-shim/library/ring/src/testutil.rs:437,1
    - Dst: '&mut String::remove'
      Src: /src/td-shim/library/ring/src/testutil.rs:438,1
    - Dst: Option::splitn
      Src: /src/td-shim/library/ring/src/testutil.rs:444,1
    - Dst: collect
      Src: /src/td-shim/library/ring/src/testutil.rs:444,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/testutil.rs:445,1
    - Dst: trim
      Src: /src/td-shim/library/ring/src/testutil.rs:449,1
    - Dst: trim
      Src: /src/td-shim/library/ring/src/testutil.rs:450,1
    - Dst: push
      Src: /src/td-shim/library/ring/src/testutil.rs:457,1
    - Dst: String::from
      Src: /src/td-shim/library/ring/src/testutil.rs:457,1
    - Dst: String::from
      Src: /src/td-shim/library/ring/src/testutil.rs:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 2
    argNames:
    - current_section
    - lines
    argTypes:
    - '&mut String'
    - '&mut dyn Iterator<Item = &str>'
    constantsTouched: []
    func_position:
      end: 461
      start: 394
    functionDepth: 4
    functionLinenumber: 394
    functionLinenumberEnd: 461
    functionName: parse_test_case
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 1
    functionsReached:
    - '&mut dyn Iterator<Item = &str>::next'
    - len
    - Option::starts_with
    - trim
    - '&mut String::truncate'
    - '&mut String::push_str'
    - '&mut String::pop'
    - push
    - Vec::new
    - Option::splitn
    - '&mut String::remove'
    - Some
    - String::from
    - collect
    linkageType: ''
    returnType: Option
    signature: 'fn parse_test_case(current_section: &mut String,lines: &mut dyn Iterator<Item
      = &str>,) -> Option<TestCase>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/testutil.rs:546,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/testutil.rs:546,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:547,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 550
    functionName: tests::one_ok
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Ok
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn one_ok()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/testutil.rs:555,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/testutil.rs:555,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:556,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/testutil.rs:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: tests::one_err
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Err
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn one_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/testutil.rs:564,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/testutil.rs:564,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: tests::one_panics
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn one_panics()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_one
      Src: /src/td-shim/library/ring/src/testutil.rs:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: tests::first_err
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - err_one
    linkageType: ''
    returnType: void
    signature: fn first_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_one
      Src: /src/td-shim/library/ring/src/testutil.rs:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: tests::middle_err
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - err_one
    linkageType: ''
    returnType: void
    signature: fn middle_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: err_one
      Src: /src/td-shim/library/ring/src/testutil.rs:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 586
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 586
    functionName: tests::last_err
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - err_one
    linkageType: ''
    returnType: void
    signature: fn last_err()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/testutil.rs:590,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/testutil.rs:590,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:591,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:593,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/testutil.rs:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - test_to_fail
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 600
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 600
    functionName: tests::err_one
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Ok
    - Err
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: 'fn err_one(test_to_fail: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: panic_one
      Src: /src/td-shim/library/ring/src/testutil.rs:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: tests::first_panic
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - panic_one
    linkageType: ''
    returnType: void
    signature: fn first_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: panic_one
      Src: /src/td-shim/library/ring/src/testutil.rs:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: tests::middle_panic
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - panic_one
    linkageType: ''
    returnType: void
    signature: fn middle_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: panic_one
      Src: /src/td-shim/library/ring/src/testutil.rs:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 618
    functionName: tests::last_panic
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - panic_one
    linkageType: ''
    returnType: void
    signature: fn last_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/testutil.rs:622,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/testutil.rs:622,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/testutil.rs:623,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - test_to_fail
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: tests::panic_one
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Ok
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: 'fn panic_one(test_to_fail: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/testutil.rs:635,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/testutil.rs:636,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/testutil.rs:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tests::syntax_error
    functionSourceFile: /src/td-shim/library/ring/src/testutil.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Ok
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn syntax_error()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::fill_impl
      Src: /src/td-shim/library/ring/src/rand.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: T::fill
    functionSourceFile: /src/td-shim/library/ring/src/rand.rs
    functionUses: 0
    functionsReached:
    - T::fill_impl
    linkageType: ''
    returnType: Result
    signature: 'fn fill(&self, dest: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: Random::expose
    functionSourceFile: /src/td-shim/library/ring/src/rand.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: pub fn expose(self) -> T
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::zero
      Src: /src/td-shim/library/ring/src/rand.rs:57,1
    - Dst: '&dyn SecureRandom::fill'
      Src: /src/td-shim/library/ring/src/rand.rs:58,1
    - Dst: Result::as_mut_bytes
      Src: /src/td-shim/library/ring/src/rand.rs:58,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rand.rs:59,1
    - Dst: Random
      Src: /src/td-shim/library/ring/src/rand.rs:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rng
    argTypes:
    - '&dyn SecureRandom'
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: generate
    functionSourceFile: /src/td-shim/library/ring/src/rand.rs
    functionUses: 5
    functionsReached:
    - Ok
    - Result::as_mut_bytes
    - '&dyn SecureRandom::fill'
    - Random
    - T::zero
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate<T: RandomlyConstructable>(rng: &dyn SecureRandom,)
      -> Result<Random<T>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/rand.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: SystemRandom::new
    functionSourceFile: /src/td-shim/library/ring/src/rand.rs
    functionUses: 15
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrandom::getrandom
      Src: /src/td-shim/library/ring/src/rand.rs:165,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/rand.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: SystemRandom::fill_impl
    functionSourceFile: /src/td-shim/library/ring/src/rand.rs
    functionUses: 0
    functionsReached:
    - map_err
    - getrandom::getrandom
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/digest.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - '&''static Algorithm'
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: BlockContext::new
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new(algorithm: &''static Algorithm) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BlockContext::block_data_order
      Src: /src/td-shim/library/ring/src/digest.rs:63,1
    - Dst: saturating_add
      Src: /src/td-shim/library/ring/src/digest.rs:68,1
    - Dst: polyfill::u64_from_usize
      Src: /src/td-shim/library/ring/src/digest.rs:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - input
    - cpu_features
    argTypes:
    - '&''i [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: BlockContext::update
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - polyfill::u64_from_usize
    - saturating_add
    - BlockContext::block_data_order
    linkageType: ''
    returnType: '&''i [u8]'
    signature: 'pub(crate) fn update<''i>(&mut self, input: &''i [u8], cpu_features:
      cpu::Features) -> &''i [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/library/ring/src/digest.rs:85,1
    - Dst: polyfill::u64_from_usize
      Src: /src/td-shim/library/ring/src/digest.rs:87,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/digest.rs:85,1
    - Dst: InputTooLongError::new
      Src: /src/td-shim/library/ring/src/digest.rs:90,1
    - Dst: and_then
      Src: /src/td-shim/library/ring/src/digest.rs:85,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/digest.rs:85,1
    - Dst: block_len
      Src: /src/td-shim/library/ring/src/digest.rs:95,1
    - Dst: Result::get_mut
      Src: /src/td-shim/library/ring/src/digest.rs:98,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/digest.rs:105,1
    - Dst: FinishError::pending_not_a_partial_block
      Src: /src/td-shim/library/ring/src/digest.rs:105,1
    - Dst: as_deref
      Src: /src/td-shim/library/ring/src/digest.rs:106,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/digest.rs:111,1
    - Dst: checked_sub
      Src: /src/td-shim/library/ring/src/digest.rs:111,1
    - Dst: len_len
      Src: /src/td-shim/library/ring/src/digest.rs:113,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/digest.rs:117,1
    - Dst: BlockContext::block_data_order
      Src: /src/td-shim/library/ring/src/digest.rs:118,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/digest.rs:126,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/digest.rs:126,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/digest.rs:127,1
    - Dst: usize::copy_from_slice
      Src: /src/td-shim/library/ring/src/digest.rs:128,1
    - Dst: to_be_bytes
      Src: /src/td-shim/library/ring/src/digest.rs:128,1
    - Dst: BlockContext::block_data_order
      Src: /src/td-shim/library/ring/src/digest.rs:130,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/digest.rs:133,1
    - Dst: format_output
      Src: /src/td-shim/library/ring/src/digest.rs:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 74
    argCount: 3
    argNames:
    - block
    - num_pending
    - cpu_features
    argTypes:
    - '&mut [u8; MAX_BLOCK_LEN]'
    - usize
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 137
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 137
    functionName: BlockContext::try_finish
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - polyfill::u64_from_usize
    - len
    - len_len
    - InputTooLongError::new
    - split_at_mut
    - block_len
    - FinishError::pending_not_a_partial_block
    - Ok
    - checked_add
    - and_then
    - format_output
    - ok_or_else
    - Result::get_mut
    - Err
    - to_be_bytes
    - map_err
    - as_deref
    - BlockContext::block_data_order
    - fill
    - usize::copy_from_slice
    - checked_sub
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_finish(mut self,block: &mut [u8; MAX_BLOCK_LEN],num_pending:
      usize,cpu_features: cpu::Features,) -> Result<Digest, FinishError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - cpu_features
    argTypes:
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: BlockContext::block_data_order
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'fn block_data_order<''d>(&mut self,data: &''d [u8],cpu_features: cpu::Features,)
      -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::pending_not_a_partial_block_inner
      Src: /src/td-shim/library/ring/src/digest.rs:163,1
    - Dst: Self::pending_not_a_partial_block_inner
      Src: /src/td-shim/library/ring/src/digest.rs:164,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/digest.rs:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - padding
    argTypes:
    - Option<&[u8]>
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: FinishError::pending_not_a_partial_block
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - len
    - Self::pending_not_a_partial_block_inner
    linkageType: ''
    returnType: Self
    signature: 'fn pending_not_a_partial_block(padding: Option<&[u8]>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:59,1
    - Dst: BitLength::from_byte_len
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:62,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:62,1
    - Dst: BitLength::from_byte_len
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:63,1
    - Dst: Aad<&[u8]>::as_ref
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:63,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:63,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:63,1
    - Dst: Xi
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:71,1
    - Dst: chunks
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:78,1
    - Dst: '{

        bits::sliceutil::overwrite_at_start'
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:80,1
    - Dst: update_block
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:81,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - key
    - aad
    - in_out_len
    argTypes:
    - '&''key K'
    - Aad<&[u8]>
    - usize
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: Context::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm.rs
    functionUses: 5
    functionsReached:
    - Aad<&[u8]>::as_ref
    - BitLength::from_byte_len
    - Result::map_err
    - chunks
    - Xi
    - update_block
    - '&[u8]::len'
    - Ok
    - Err
    - '{

      bits::sliceutil::overwrite_at_start'
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn new(key: &''key K,aad: Aad<&[u8]>,in_out_len: usize,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::clone
      Src: /src/td-shim/library/ring/src/digest.rs:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - block
    argTypes:
    - '&BlockContext'
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: Context::clone_from
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - Result::clone
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn clone_from(block: &BlockContext) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::update_internal
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:74,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:77,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: Context::finish
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - Context::update_internal
    - finish
    linkageType: ''
    returnType: Tag
    signature: 'pub(super) fn finish(mut self, input: &[u8]) -> Tag'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_finish
      Src: /src/td-shim/library/ring/src/digest.rs:271,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/digest.rs:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: Context::try_finish
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - map_err
    - try_finish
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn try_finish(mut self,cpu_features: cpu::Features,) ->
      Result<Digest, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: Context::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/digest.rs:291,1
    - Dst: Digest::compute_from
      Src: /src/td-shim/library/ring/src/digest.rs:292,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/digest.rs:292,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/digest.rs:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - algorithm
    - data
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 7
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: digest
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 7
    functionsReached:
    - cpu::features
    - Digest::compute_from
    - Result::map_err
    - unwrap
    linkageType: ''
    returnType: Digest
    signature: 'pub fn digest(algorithm: &''static Algorithm, data: &[u8]) -> Digest'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Context::new
      Src: /src/td-shim/library/ring/src/digest.rs:312,1
    - Dst: Result::update
      Src: /src/td-shim/library/ring/src/digest.rs:313,1
    - Dst: Result::try_finish
      Src: /src/td-shim/library/ring/src/digest.rs:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - algorithm
    - data
    - cpu
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: Digest::compute_from
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 2
    functionsReached:
    - Result::try_finish
    - Result::update
    - Context::new
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn compute_from(algorithm: &''static Algorithm,data: &[u8],cpu:
      cpu::Features,) -> Result<Self, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: Digest::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: output_len
      Src: /src/td-shim/library/ring/src/digest.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: Digest::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - output_len
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug::write_hex_bytes
      Src: /src/td-shim/library/ring/src/digest.rs:334,1
    - Dst: Digest::as_ref
      Src: /src/td-shim/library/ring/src/digest.rs:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: Digest::fmt
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - debug::write_hex_bytes
    - Digest::as_ref
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: Algorithm::eq
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/digest.rs:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: Algorithm::block_len
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn block_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: Algorithm::chaining_len
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn chaining_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/digest.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: Algorithm::output_len
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn output_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Output
      Src: /src/td-shim/library/ring/src/digest.rs:530,1
    - Dst: chunks_mut
      Src: /src/td-shim/library/ring/src/digest.rs:531,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/digest.rs:531,1
    - Dst: untrusted::Input::iter
      Src: /src/td-shim/library/ring/src/digest.rs:534,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/digest.rs:534,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/digest.rs:534,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/digest.rs:534,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/digest.rs:531,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/digest.rs:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - input
    - f
    argTypes:
    - '[Wrapping<T>; sha2::CHAINING_WORDS]'
    - F
    constantsTouched: []
    func_position:
      end: 539
      start: 525
    functionDepth: 6
    functionLinenumber: 525
    functionLinenumberEnd: 539
    functionName: format_output
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 1
    functionsReached:
    - copy_from_slice
    - chunks_mut
    - Output
    - Self::IntoIter::copied
    - map
    - f
    - zip
    - for_each
    - untrusted::Input::iter
    linkageType: ''
    returnType: Output
    signature: 'fn format_output<T, F, const N: usize>(input: [Wrapping<T>; sha2::CHAINING_WORDS],
      f: F) -> OutputwhereF: Fn(T) -> [u8; N],T: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 567
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 567
    functionName: BlockLen::into
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn into(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: BlockLen::len_len
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn len_len(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: OutputLen::into
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn into(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::max_input_test
      Src: /src/td-shim/library/ring/src/digest.rs:7,1
    - Dst: super::too_long_input_test_block
      Src: /src/td-shim/library/ring/src/digest.rs:13,1
    - Dst: super::too_long_input_test_byte
      Src: /src/td-shim/library/ring/src/digest.rs:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 633
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 633
    functionName: max_input_tests
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - super::max_input_test
    - super::too_long_input_test_byte
    - super::too_long_input_test_block
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nearly_full_context
      Src: /src/td-shim/library/ring/src/digest.rs:636,1
    - Dst: digest::Context::update
      Src: /src/td-shim/library/ring/src/digest.rs:638,1
    - Dst: digest::Context::finish
      Src: /src/td-shim/library/ring/src/digest.rs:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: tests::max_input_test
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - digest::Context::finish
    - nearly_full_context
    - digest::Context::update
    linkageType: ''
    returnType: void
    signature: 'fn max_input_test(alg: &''static digest::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nearly_full_context
      Src: /src/td-shim/library/ring/src/digest.rs:643,1
    - Dst: digest::Context::update
      Src: /src/td-shim/library/ring/src/digest.rs:645,1
    - Dst: digest::Context::finish
      Src: /src/td-shim/library/ring/src/digest.rs:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: tests::too_long_input_test_block
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - digest::Context::finish
    - nearly_full_context
    - digest::Context::update
    linkageType: ''
    returnType: void
    signature: 'fn too_long_input_test_block(alg: &''static digest::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nearly_full_context
      Src: /src/td-shim/library/ring/src/digest.rs:650,1
    - Dst: digest::Context::update
      Src: /src/td-shim/library/ring/src/digest.rs:652,1
    - Dst: digest::Context::update
      Src: /src/td-shim/library/ring/src/digest.rs:653,1
    - Dst: digest::Context::finish
      Src: /src/td-shim/library/ring/src/digest.rs:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 655
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 655
    functionName: tests::too_long_input_test_byte
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - digest::Context::finish
    - nearly_full_context
    - digest::Context::update
    linkageType: ''
    returnType: void
    signature: 'fn too_long_input_test_byte(alg: &''static digest::Algorithm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: polyfill::u64_from_usize
      Src: /src/td-shim/library/ring/src/digest.rs:662,1
    - Dst: Result::block_len
      Src: /src/td-shim/library/ring/src/digest.rs:662,1
    - Dst: polyfill::u64_from_usize
      Src: /src/td-shim/library/ring/src/digest.rs:663,1
    - Dst: Result::block_len
      Src: /src/td-shim/library/ring/src/digest.rs:663,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/digest.rs:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - alg
    argTypes:
    - '&''static digest::Algorithm'
    constantsTouched: []
    func_position:
      end: 673
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 673
    functionName: tests::nearly_full_context
    functionSourceFile: /src/td-shim/library/ring/src/digest.rs
    functionUses: 0
    functionsReached:
    - polyfill::u64_from_usize
    - Result::block_len
    - clone
    linkageType: ''
    returnType: digest::Context
    signature: 'fn nearly_full_context(alg: &''static digest::Algorithm) -> digest::Context'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead.rs:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - aad
    argTypes:
    - A
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: Aad::from
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn from(aad: A) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/aead.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Aad::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from
      Src: /src/td-shim/library/ring/src/aead.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: Aad::empty
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 1
    functionsReached:
    - Self::from
    linkageType: ''
    returnType: Self
    signature: pub fn empty() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_tuple
      Src: /src/td-shim/library/ring/src/aead.rs:104,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/aead.rs:104,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Aad::fmt
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_tuple
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/td-shim/library/ring/src/aead.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: Aad::eq
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize_from_u64_saturated
      Src: /src/td-shim/library/ring/src/aead.rs:130,1
    - Dst: '{

        cpu,error,

        polyfill::u64_from_usize'
      Src: /src/td-shim/library/ring/src/aead.rs:131,1
    - Dst: '{

        cpu,error,

        polyfill::u64_from_usize'
      Src: /src/td-shim/library/ring/src/aead.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - block_len
    - overhead_blocks_per_nonce
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: max_input_len
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - usize_from_u64_saturated
    - '{

      cpu,error,

      polyfill::u64_from_usize'
    linkageType: ''
    returnType: usize
    signature: 'const fn max_input_len(block_len: usize, overhead_blocks_per_nonce:
      usize) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead.rs:151,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/aead.rs:151,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead.rs:152,1
    - Dst: Self::from
      Src: /src/td-shim/library/ring/src/aead.rs:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: Tag::try_from
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 0
    functionsReached:
    - map_err
    - Self::from
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: &[u8]) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[u8; TAG_LEN]'
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: Tag::from
    functionSourceFile: /src/td-shim/library/ring/src/aead.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: [u8; TAG_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/bb/mod.rs:28,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/bb/mod.rs:29,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/bb/mod.rs:30,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/bb/mod.rs:32,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/bb/mod.rs:34,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/bb/mod.rs:35,1
    - Dst: CRYPTO_memcmp
      Src: /src/td-shim/library/ring/src/bb/mod.rs:38,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bb/mod.rs:40,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/bb/mod.rs:41,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bb/mod.rs:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: verify_slices_are_equal
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 2
    functionsReached:
    - len
    - CRYPTO_memcmp
    - as_ptr
    - Ok
    - NonZeroUsize::new
    - Option::as_ptr
    - Option::len
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_slices_are_equal(a: &[u8], b: &[u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 16
    functionName: core_name_and_version
    functionSourceFile: /src/td-shim/library/ring/src/prefixed.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: prefix
    functionSourceFile: /src/td-shim/library/ring/src/prefixed.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_item
      Src: /src/td-shim/library/ring/src/prefixed.rs:3,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 82
    functionName: prefixed_extern
    functionSourceFile: /src/td-shim/library/ring/src/prefixed.rs
    functionUses: 0
    functionsReached:
    - prefixed_item
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_item
      Src: /src/td-shim/library/ring/src/prefixed.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 107
    functionName: prefixed_export
    functionSourceFile: /src/td-shim/library/ring/src/prefixed.rs
    functionUses: 0
    functionsReached:
    - prefixed_item
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: prefixed_item
    functionSourceFile: /src/td-shim/library/ring/src/prefixed.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/td-shim/library/ring/src/signature.rs:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - fill
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: Signature::new
    functionSourceFile: /src/td-shim/library/ring/src/signature.rs
    functionUses: 0
    functionsReached:
    - fill
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new<F>(fill: F) -> SelfwhereF: FnOnce(&mut [u8; MAX_LEN])
      -> usize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: Signature::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/signature.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/agreement.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: UnparsedPublicKey::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/agreement.rs:209,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/agreement.rs:209,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/agreement.rs:209,1
    - Dst: debug::HexStr
      Src: /src/td-shim/library/ring/src/agreement.rs:211,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/agreement.rs:211,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/agreement.rs:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: UnparsedPublicKey::fmt
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - as_ref
    - debug_struct
    - debug::HexStr
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - algorithm
    - bytes
    argTypes:
    - '&''static Algorithm'
    - B
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: UnparsedPublicKey::new
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(algorithm: &''static Algorithm, bytes: B) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/signature.rs:402,1
    - Dst: verify
      Src: /src/td-shim/library/ring/src/signature.rs:403,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/signature.rs:404,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/signature.rs:404,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/signature.rs:405,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/signature.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - message
    - signature
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 8
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: UnparsedPublicKey::verify
    functionSourceFile: /src/td-shim/library/ring/src/signature.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - untrusted::Input::from
    - as_ref
    - verify
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify(&self, message: &[u8], signature: &[u8]) -> Result<(),
      error::Unspecified>whereB: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/agreement.rs:110,1
    - Dst: ec::Seed::generate
      Src: /src/td-shim/library/ring/src/agreement.rs:116,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/agreement.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alg
    - rng
    argTypes:
    - '&''static Algorithm'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 7
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: EphemeralPrivateKey::generate
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 3
    functionsReached:
    - cpu::features
    - ec::Seed::generate
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate(alg: &''static Algorithm,rng: &dyn rand::SecureRandom,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_public_key
      Src: /src/td-shim/library/ring/src/agreement.rs:131,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/agreement.rs:132,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/agreement.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 7
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: EphemeralPrivateKey::compute_public_key
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - compute_public_key
    - map
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: pub fn compute_public_key(&self) -> Result<PublicKey, error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: EphemeralPrivateKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EphemeralPrivateKey::bytes_for_test
      Src: /src/td-shim/library/ring/src/agreement.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: EphemeralPrivateKey::bytes
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - EphemeralPrivateKey::bytes_for_test
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn bytes(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_less_safe
      Src: /src/td-shim/library/ring/src/agreement.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: EphemeralPrivateKey::bytes_for_test
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 1
    functionsReached:
    - bytes_less_safe
    linkageType: ''
    returnType: '&[u8]'
    signature: pub(super) fn bytes_for_test(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: PublicKey::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn as_ref(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/agreement.rs:173,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/agreement.rs:173,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/agreement.rs:173,1
    - Dst: debug::HexStr
      Src: /src/td-shim/library/ring/src/agreement.rs:175,1
    - Dst: PublicKey::as_ref
      Src: /src/td-shim/library/ring/src/agreement.rs:175,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/agreement.rs:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: PublicKey::fmt
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    - PublicKey::as_ref
    - debug::HexStr
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: PublicKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: UnparsedPublicKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: UnparsedPublicKey::bytes
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&B'
    signature: pub fn bytes(&self) -> &B
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bench_function'
      Src: /src/td-shim/library/ring/bench/agreement.rs:55,1
    - Dst: bench_name
      Src: /src/td-shim/library/ring/bench/agreement.rs:55,1
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/bench/agreement.rs:56,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/bench/agreement.rs:59,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/agreement.rs:59,1
    - Dst: compute_public_key
      Src: /src/td-shim/library/ring/bench/agreement.rs:60,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/bench/agreement.rs:60,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/bench/agreement.rs:62,1
    - Dst: Option::iter_batched
      Src: /src/td-shim/library/ring/bench/agreement.rs:64,1
    - Dst: EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/bench/agreement.rs:65,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/agreement.rs:65,1
    - Dst: UnparsedPublicKey::new
      Src: /src/td-shim/library/ring/bench/agreement.rs:67,1
    - Dst: agreement::agree_ephemeral
      Src: /src/td-shim/library/ring/bench/agreement.rs:68,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/agreement.rs:69,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/bench/agreement.rs:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 77
      start: 53
    functionDepth: 8
    functionLinenumber: 53
    functionLinenumberEnd: 77
    functionName: agree_ephemeral
    functionSourceFile: /src/td-shim/library/ring/bench/agreement.rs
    functionUses: 3
    functionsReached:
    - bench_name
    - agreement::agree_ephemeral
    - as_ref
    - '!::bench_function'
    - Option::iter_batched
    - Result::unwrap
    - EphemeralPrivateKey::generate
    - rand::SystemRandom::new
    - unwrap
    - criterion::black_box
    - agreement::EphemeralPrivateKey::generate
    - UnparsedPublicKey::new
    - compute_public_key
    linkageType: ''
    returnType: void
    signature: 'fn agree_ephemeral(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/td-shim/library/ring/src/agreement.rs:277,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/agreement.rs:302,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/agreement.rs:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - my_private_key
    - peer_public_key
    - kdf
    - cpu
    argTypes:
    - EphemeralPrivateKey
    - UnparsedPublicKey<&[u8]>
    - impl FnOnce(&[u8]) -> R
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 311
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 311
    functionName: agree_ephemeral_
    functionSourceFile: /src/td-shim/library/ring/src/agreement.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn agree_ephemeral_<R>(my_private_key: EphemeralPrivateKey,peer_public_key:
      UnparsedPublicKey<&[u8]>,kdf: impl FnOnce(&[u8]) -> R,cpu: cpu::Features,) ->
      Result<R, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Algorithm::hmac_algorithm
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: hmac::Algorithm
    signature: pub fn hmac_algorithm(&self) -> hmac::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/hkdf.rs:65,1
    - Dst: hmac::Key::new
      Src: /src/td-shim/library/ring/src/hkdf.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - algorithm
    - value
    argTypes:
    - Algorithm
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: Salt::new
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 2
    functionsReached:
    - hmac::Key::new
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(algorithm: Algorithm, value: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hmac::sign
      Src: /src/td-shim/library/ring/src/hkdf.rs:79,1
    - Dst: Prk
      Src: /src/td-shim/library/ring/src/hkdf.rs:80,1
    - Dst: hmac::Key::new
      Src: /src/td-shim/library/ring/src/hkdf.rs:80,1
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:80,1
    - Dst: io::Result::as_ref
      Src: /src/td-shim/library/ring/src/hkdf.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - secret
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 8
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: Salt::extract
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::new
    - io::Result::as_ref
    - Prk
    - hmac::sign
    - algorithm
    linkageType: ''
    returnType: Prk
    signature: 'pub fn extract(&self, secret: &[u8]) -> Prk'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:86,1
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: Salt::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Algorithm
    - algorithm
    linkageType: ''
    returnType: Algorithm
    signature: pub fn algorithm(&self) -> Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/hkdf.rs:92,1
    - Dst: hmac::Key::from
      Src: /src/td-shim/library/ring/src/hkdf.rs:92,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/hkdf.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - okm
    argTypes:
    - Okm<'_, Algorithm>
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 12
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: Salt::from
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - hmac::Key::from
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: Okm<''_, Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/hkdf.rs:118,1
    - Dst: hmac::Key::new
      Src: /src/td-shim/library/ring/src/hkdf.rs:118,1
    - Dst: hmac_algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - algorithm
    - value
    argTypes:
    - Algorithm
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: Prk::new_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - hmac::Key::new
    - Self
    - hmac_algorithm
    linkageType: ''
    returnType: Self
    signature: 'pub fn new_less_safe(algorithm: Algorithm, value: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::len
      Src: /src/td-shim/library/ring/src/hkdf.rs:132,1
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:133,1
    - Dst: digest_algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:133,1
    - Dst: output_len
      Src: /src/td-shim/library/ring/src/hkdf.rs:133,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/hkdf.rs:134,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/hkdf.rs:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - info
    - len
    argTypes:
    - '&''a [&''a [u8]]'
    - L
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: Prk::expand
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 2
    functionsReached:
    - output_len
    - Ok
    - digest_algorithm
    - algorithm
    - usize::len
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn expand<''a, L: KeyType>(&''a self,info: &''a [&''a [u8]],len:
      L,) -> Result<Okm<''a, L>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/hkdf.rs:147,1
    - Dst: hmac::Key::from
      Src: /src/td-shim/library/ring/src/hkdf.rs:147,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/hkdf.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - okm
    argTypes:
    - Okm<Algorithm>
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 12
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: Prk::from
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - hmac::Key::from
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: Okm<Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: Okm::len
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&L'
    signature: pub fn len(&self) -> &L
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill_okm
      Src: /src/td-shim/library/ring/src/hkdf.rs:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: Okm::fill
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 0
    functionsReached:
    - fill_okm
    linkageType: ''
    returnType: Result
    signature: 'pub fn fill(self, out: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PathBuf::len
      Src: /src/td-shim/library/ring/src/hkdf.rs:194,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/hkdf.rs:195,1
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:198,1
    - Dst: digest_algorithm
      Src: /src/td-shim/library/ring/src/hkdf.rs:198,1
    - Dst: hmac::Context::with_key
      Src: /src/td-shim/library/ring/src/hkdf.rs:201,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/hkdf.rs:207,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/hkdf.rs:209,1
    - Dst: Self::sign
      Src: /src/td-shim/library/ring/src/hkdf.rs:211,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/hkdf.rs:212,1
    - Dst: PathBuf::len
      Src: /src/td-shim/library/ring/src/hkdf.rs:215,1
    - Dst: Option::output_len
      Src: /src/td-shim/library/ring/src/hkdf.rs:215,1
    - Dst: PathBuf::len
      Src: /src/td-shim/library/ring/src/hkdf.rs:216,1
    - Dst: PathBuf::copy_from_slice
      Src: /src/td-shim/library/ring/src/hkdf.rs:217,1
    - Dst: PathBuf::split_at_mut
      Src: /src/td-shim/library/ring/src/hkdf.rs:220,1
    - Dst: Option::output_len
      Src: /src/td-shim/library/ring/src/hkdf.rs:220,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/hkdf.rs:221,1
    - Dst: PathBuf::is_empty
      Src: /src/td-shim/library/ring/src/hkdf.rs:225,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/hkdf.rs:226,1
    - Dst: hmac::Context::with_key
      Src: /src/td-shim/library/ring/src/hkdf.rs:229,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/hkdf.rs:230,1
    - Dst: '!::checked_add'
      Src: /src/td-shim/library/ring/src/hkdf.rs:231,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/hkdf.rs:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 80
    argCount: 4
    argNames:
    - prk
    - info
    - out
    - len
    argTypes:
    - '&Prk'
    - '&[&[u8]]'
    - '&mut [u8]'
    - usize
    constantsTouched: []
    func_position:
      end: 233
      start: 188
    functionDepth: 8
    functionLinenumber: 188
    functionLinenumberEnd: 233
    functionName: fill_okm
    functionSourceFile: /src/td-shim/library/ring/src/hkdf.rs
    functionUses: 1
    functionsReached:
    - PathBuf::split_at_mut
    - Result::as_ref
    - Self::sign
    - copy_from_slice
    - PathBuf::copy_from_slice
    - '!::checked_add'
    - Self::update
    - unwrap
    - PathBuf::is_empty
    - digest_algorithm
    - Option::output_len
    - algorithm
    - Ok
    - Err
    - hmac::Context::with_key
    - PathBuf::len
    linkageType: ''
    returnType: Result
    signature: 'fn fill_okm(prk: &Prk,info: &[&[u8]],out: &mut [u8],len: usize,) ->
      Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: u64_from_usize
    functionSourceFile: /src/td-shim/library/ring/src/polyfill.rs
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: 'pub const fn u64_from_usize(x: usize) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: usize_from_u32
    functionSourceFile: /src/td-shim/library/ring/src/polyfill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub const fn usize_from_u32(x: u32) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: usize_from_u64
    functionSourceFile: /src/td-shim/library/ring/src/polyfill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub fn usize_from_u64(x: u64) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: usize_from_u64_saturated
    functionSourceFile: /src/td-shim/library/ring/src/polyfill.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: 'pub const fn usize_from_u64_saturated(x: u64) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: tests::test_usize_from_u64_saturated
    functionSourceFile: /src/td-shim/library/ring/src/polyfill.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_usize_from_u64_saturated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::read_all
      Src: /src/td-shim/library/ring/src/rsa.rs:47,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/rsa.rs:48,1
    - Dst: der::positive_integer
      Src: /src/td-shim/library/ring/src/rsa.rs:49,1
    - Dst: der::positive_integer
      Src: /src/td-shim/library/ring/src/rsa.rs:50,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: parse_public_key
    functionSourceFile: /src/td-shim/library/ring/src/rsa.rs
    functionUses: 0
    functionsReached:
    - der::nested
    - Ok
    - der::positive_integer
    - untrusted::Input::read_all
    linkageType: ''
    returnType: Result
    signature: 'fn parse_public_key(input: untrusted::Input,) -> Result<(io::Positive,
      io::Positive), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: test_file
    functionSourceFile: /src/td-shim/library/ring/src/deprecated_test.rs
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from
      Src: /src/td-shim/library/ring/src/io/der.rs:47,1
    - Dst: Tag::into
      Src: /src/td-shim/library/ring/src/io/der.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - Tag
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: usize::from
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - Self::from
    - Tag::into
    linkageType: ''
    returnType: Self
    signature: 'fn from(tag: Tag) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: LengthMeasurement::zero
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: pub fn zero() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/library/ring/src/io/writer.rs:40,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/io/writer.rs:40,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/writer.rs:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - _value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: LengthMeasurement::write_byte
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - Ok
    - ok_or_else
    linkageType: ''
    returnType: Result
    signature: 'fn write_byte(&mut self, _value: u8) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/td-shim/library/ring/src/io/writer.rs:44,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/io/writer.rs:46,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/io/writer.rs:44,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/writer.rs:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: LengthMeasurement::write_bytes
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - Ok
    - ok_or_else
    - len
    linkageType: ''
    returnType: Result
    signature: 'fn write_bytes(&mut self, value: &[u8]) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::with_capacity
      Src: /src/td-shim/library/ring/src/io/writer.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - LengthMeasurement
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: Writer::with_capacity
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - Vec::with_capacity
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn with_capacity(capacity: LengthMeasurement) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_boxed_slice
      Src: /src/td-shim/library/ring/src/io/writer.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - writer
    argTypes:
    - Writer
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: Box::from
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - into_boxed_slice
    linkageType: ''
    returnType: Self
    signature: 'fn from(writer: Writer) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/td-shim/library/ring/src/io/writer.rs:75,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/writer.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: Writer::write_byte
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - push
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn write_byte(&mut self, value: u8) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend
      Src: /src/td-shim/library/ring/src/io/writer.rs:79,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/writer.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: Writer::write_bytes
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - Ok
    - extend
    linkageType: ''
    returnType: Result
    signature: 'fn write_bytes(&mut self, value: &[u8]) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut dyn Accumulator::write_bytes'
      Src: /src/td-shim/library/ring/src/io/writer.rs:88,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/io/writer.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - accumulator
    - to_copy
    argTypes:
    - '&mut dyn Accumulator'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: write_copy
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::as_slice_less_safe
    - '&mut dyn Accumulator::write_bytes'
    linkageType: ''
    returnType: Result
    signature: 'pub fn write_copy(accumulator: &mut dyn Accumulator,to_copy: untrusted::Input,)
      -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/io/writer.rs:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: TooLongError::new
    functionSourceFile: /src/td-shim/library/ring/src/io/writer.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Tag::into
      Src: /src/td-shim/library/ring/src/io/der.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tag
    argTypes:
    - Tag
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: u8::from
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - Tag::into
    linkageType: ''
    returnType: Self
    signature: 'fn from(tag: Tag) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: Tag::into
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: pub const fn into(self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_tag_and_get_value
      Src: /src/td-shim/library/ring/src/io/der.rs:68,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/io/der.rs:69,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/io/der.rs:69,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:70,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - input
    - tag
    argTypes:
    - '&mut untrusted::Reader<''a>'
    - Tag
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: expect_tag_and_get_value
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - Ok
    - usize::from
    - read_tag_and_get_value
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn expect_tag_and_get_value<''a>(input: &mut untrusted::Reader<''a>,tag:
      Tag,) -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/io/der.rs:78,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:80,1
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/io/der.rs:86,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/io/der.rs:87,1
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/io/der.rs:89,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:91,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/io/der.rs:93,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/io/der.rs:96,1
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/io/der.rs:96,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/io/der.rs:97,1
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/io/der.rs:97,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:100,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:105,1
    - Dst: untrusted::Input::read_bytes
      Src: /src/td-shim/library/ring/src/io/der.rs:109,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 111
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 111
    functionName: read_tag_and_get_value
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - usize::from
    - untrusted::Input::read_byte
    - Ok
    - untrusted::Input::read_bytes
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_tag_and_get_value<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<(u8, untrusted::Input<''a>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bit_string_tagged_with_no_unused_bits
      Src: /src/td-shim/library/ring/src/io/der.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: bit_string_with_no_unused_bits
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - bit_string_tagged_with_no_unused_bits
    linkageType: ''
    returnType: Result
    signature: 'pub fn bit_string_with_no_unused_bits<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nested
      Src: /src/td-shim/library/ring/src/io/der.rs:124,1
    - Dst: read_byte
      Src: /src/td-shim/library/ring/src/io/der.rs:125,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/io/der.rs:125,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:127,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:129,1
    - Dst: read_bytes_to_end
      Src: /src/td-shim/library/ring/src/io/der.rs:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - tag
    - input
    argTypes:
    - Tag
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: bit_string_tagged_with_no_unused_bits
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 2
    functionsReached:
    - map_err
    - read_bytes_to_end
    - read_byte
    - Ok
    - nested
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn bit_string_tagged_with_no_unused_bits<''a>(tag: Tag,input:
      &mut untrusted::Reader<''a>,) -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/io/der.rs:144,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/io/der.rs:144,1
    - Dst: read_all
      Src: /src/td-shim/library/ring/src/io/der.rs:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - tag
    - error
    - decoder
    argTypes:
    - '&mut untrusted::Reader<''a>'
    - Tag
    - E
    - F
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: nested
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 5
    functionsReached:
    - Result::map_err
    - expect_tag_and_get_value
    - read_all
    linkageType: ''
    returnType: Result
    signature: 'pub fn nested<''a, F, R, E: Copy>(input: &mut untrusted::Reader<''a>,tag:
      Tag,error: E,decoder: F,) -> Result<R, E>whereF: FnOnce(&mut untrusted::Reader<''a>)
      -> Result<R, E>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/io/der.rs:151,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/io/der.rs:152,1
    - Dst: split_first
      Src: /src/td-shim/library/ring/src/io/der.rs:152,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/io/der.rs:152,1
    - Dst: first
      Src: /src/td-shim/library/ring/src/io/der.rs:159,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:161,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:163,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/io/der.rs:163,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:165,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:169,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 173
      start: 148
    functionDepth: 4
    functionLinenumber: 148
    functionLinenumberEnd: 173
    functionName: nonnegative_integer
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - untrusted::Input::from
    - split_first
    - first
    - Ok
    - as_slice_less_safe
    - ok_or
    - expect_tag_and_get_value
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn nonnegative_integer<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<untrusted::Input<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/io/der.rs:179,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/io/der.rs:180,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:181,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/der.rs:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader'
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: small_nonnegative_integer
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 1
    functionsReached:
    - nonnegative_integer
    - Ok
    - as_slice_less_safe
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn small_nonnegative_integer(input: &mut untrusted::Reader) ->
      Result<u8, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/io/der.rs:191,1
    - Dst: Positive::from_be_bytes
      Src: /src/td-shim/library/ring/src/io/der.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 5
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: positive_integer
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 2
    functionsReached:
    - Positive::from_be_bytes
    - nonnegative_integer
    linkageType: ''
    returnType: Result
    signature: 'pub fn positive_integer<''a>(input: &mut untrusted::Reader<''a>,)
      -> Result<Positive<''a>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/io/der.rs:204,1
    - Dst: Self::read_all
      Src: /src/td-shim/library/ring/src/io/der.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - f
    argTypes:
    - '&''a [u8]'
    - F
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: tests::with_i
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Self::read_all
    linkageType: ''
    returnType: Result
    signature: 'fn with_i<''a, F, R>(value: &''a [u8], f: F) -> Result<R, error::Unspecified>whereF:
      FnOnce(&mut untrusted::Reader<''a>) -> Result<R, error::Unspecified>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::iter::once
      Src: /src/td-shim/library/ring/src/io/der.rs:263,1
    - Dst: Result::chain
      Src: /src/td-shim/library/ring/src/io/der.rs:263,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/io/der.rs:263,1
    - Dst: with_i
      Src: /src/td-shim/library/ring/src/io/der.rs:265,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:267,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/io/der.rs:271,1
    - Dst: chain
      Src: /src/td-shim/library/ring/src/io/der.rs:271,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/io/der.rs:273,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/io/der.rs:273,1
    - Dst: with_i
      Src: /src/td-shim/library/ring/src/io/der.rs:275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 260
    functionDepth: 6
    functionLinenumber: 260
    functionLinenumberEnd: 278
    functionName: tests::test_small_nonnegative_integer
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - map
    - Result::chain
    - with_i
    - Ok
    - core::iter::once
    - iter
    - chain
    linkageType: ''
    returnType: void
    signature: fn test_small_nonnegative_integer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/io/der.rs:282,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/io/der.rs:282,1
    - Dst: core::slice::from_ref
      Src: /src/td-shim/library/ring/src/io/der.rs:284,1
    - Dst: chain
      Src: /src/td-shim/library/ring/src/io/der.rs:282,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/io/der.rs:285,1
    - Dst: copied
      Src: /src/td-shim/library/ring/src/io/der.rs:285,1
    - Dst: with_i
      Src: /src/td-shim/library/ring/src/io/der.rs:287,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der.rs:292,1
    - Dst: core::iter::once
      Src: /src/td-shim/library/ring/src/io/der.rs:296,1
    - Dst: Result::chain
      Src: /src/td-shim/library/ring/src/io/der.rs:296,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/io/der.rs:296,1
    - Dst: with_i
      Src: /src/td-shim/library/ring/src/io/der.rs:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 6
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: tests::test_positive_integer
    functionSourceFile: /src/td-shim/library/ring/src/io/der.rs
    functionUses: 0
    functionsReached:
    - core::slice::from_ref
    - map
    - with_i
    - Result::chain
    - Ok
    - chain
    - iter
    - core::iter::once
    - copied
    linkageType: ''
    returnType: void
    signature: fn test_positive_integer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/io/positive.rs:27,1
    - Dst: first
      Src: /src/td-shim/library/ring/src/io/positive.rs:27,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/io/positive.rs:27,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/io/positive.rs:33,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/positive.rs:35,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/io/positive.rs:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input<'a>
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: Positive::from_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/io/positive.rs
    functionUses: 1
    functionsReached:
    - first
    - untrusted::Input::as_slice_less_safe
    - Self
    - Ok
    - ok_or
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_be_bytes(input: untrusted::Input<''a>) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Positive::big_endian_without_leading_zero_as_input
      Src: /src/td-shim/library/ring/src/io/positive.rs:43,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/io/positive.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: Positive::big_endian_without_leading_zero
    functionSourceFile: /src/td-shim/library/ring/src/io/positive.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::as_slice_less_safe
    - Positive::big_endian_without_leading_zero_as_input
    linkageType: ''
    returnType: '&''a [u8]'
    signature: pub fn big_endian_without_leading_zero(&self) -> &'a [u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: Positive::big_endian_without_leading_zero_as_input
    functionSourceFile: /src/td-shim/library/ring/src/io/positive.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: untrusted::Input
    signature: pub(crate) fn big_endian_without_leading_zero_as_input(&self) -> untrusted::Input<'a>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/io/positive.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: Positive::first_byte
    functionSourceFile: /src/td-shim/library/ring/src/io/positive.rs
    functionUses: 0
    functionsReached:
    - as_slice_less_safe
    linkageType: ''
    returnType: u8
    signature: pub fn first_byte(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/io/positive.rs:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 97
    functionName: tests::test_from_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/io/positive.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    linkageType: ''
    returnType: void
    signature: fn test_from_be_bytes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: first_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:22,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:23,1
    - Dst: write_tlv
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:24,1
    - Dst: write_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:26,1
    - Dst: write_copy
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - output
    - value
    argTypes:
    - '&mut dyn Accumulator'
    - '&Positive'
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 3
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: write_positive_integer
    functionSourceFile: /src/td-shim/library/ring/src/io/der_writer.rs
    functionUses: 0
    functionsReached:
    - write_copy
    - big_endian_without_leading_zero_as_input
    - write_tlv
    - first_byte
    - write_byte
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_positive_integer(output: &mut dyn Accumulator,value:
      &Positive,) -> Result<(), TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthMeasurement::zero
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:37,1
    - Dst: write_tlv
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:38,1
    - Dst: Writer::with_capacity
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:42,1
    - Dst: write_tlv
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:43,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:45,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tag
    - write_value
    argTypes:
    - Tag
    - '&dyn Fn(&mut dyn Accumulator) -> Result<(), TooLongError>'
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: write_all
    functionSourceFile: /src/td-shim/library/ring/src/io/der_writer.rs
    functionUses: 4
    functionsReached:
    - LengthMeasurement::zero
    - into
    - write_tlv
    - Writer::with_capacity
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn write_all(tag: Tag,write_value: &dyn Fn(&mut dyn Accumulator)
      -> Result<(), TooLongError>,) -> Result<Box<[u8]>, TooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LengthMeasurement::zero
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:53,1
    - Dst: write_value
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:54,1
    - Dst: Option::into
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:55,1
    - Dst: Option::try_into
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:57,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:57,1
    - Dst: TooLongError::new
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:57,1
    - Dst: write_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:59,1
    - Dst: Result::into
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:59,1
    - Dst: Option::to_le_bytes
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:61,1
    - Dst: write_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:63,1
    - Dst: write_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:64,1
    - Dst: write_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:66,1
    - Dst: write_byte
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:68,1
    - Dst: write_value
      Src: /src/td-shim/library/ring/src/io/der_writer.rs:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - output
    - tag
    - write_value
    argTypes:
    - '&mut dyn Accumulator'
    - Tag
    - F
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: write_tlv
    functionSourceFile: /src/td-shim/library/ring/src/io/der_writer.rs
    functionUses: 2
    functionsReached:
    - map_err
    - Option::to_le_bytes
    - Result::into
    - LengthMeasurement::zero
    - write_value
    - TooLongError::new
    - Option::into
    - Option::try_into
    - write_byte
    linkageType: ''
    returnType: Result
    signature: 'fn write_tlv<F>(output: &mut dyn Accumulator, tag: Tag, write_value:
      F) -> Result<(), TooLongError>whereF: Fn(&mut dyn Accumulator) -> Result<(),
      TooLongError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::<usize>::from_byte_len
      Src: /src/td-shim/library/ring/src/tests/bits_tests.rs:25,1
    - Dst: BitLength::<u64>::from_byte_len
      Src: /src/td-shim/library/ring/src/tests/bits_tests.rs:38,1
    - Dst: BitLength::<u64>::from_byte_len
      Src: /src/td-shim/library/ring/src/tests/bits_tests.rs:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 64
    functionName: test_from_byte_len_overflow
    functionSourceFile: /src/td-shim/library/ring/src/tests/bits_tests.rs
    functionUses: 0
    functionsReached:
    - BitLength::<u64>::from_byte_len
    - BitLength::<usize>::from_byte_len
    linkageType: ''
    returnType: void
    signature: fn test_from_byte_len_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - imprecise_input_length
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: InputTooLongError::new
    functionSourceFile: /src/td-shim/library/ring/src/error/input_too_long.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn new(imprecise_input_length: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::erase
      Src: /src/td-shim/library/ring/src/error/into_unspecified.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - source
    argTypes:
    - KeyRejected
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: Unspecified::from
    functionSourceFile: /src/td-shim/library/ring/src/error/into_unspecified.rs
    functionUses: 0
    functionsReached:
    - super::erase
    linkageType: ''
    returnType: Self
    signature: 'fn from(source: KeyRejected) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: erase
    functionSourceFile: /src/td-shim/library/ring/src/error/mod.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Unspecified
    signature: 'pub(crate) fn erase<T>(_: T) -> Unspecified'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/td-shim/library/ring/src/error/unspecified.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 4
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: Unspecified::fmt
    functionSourceFile: /src/td-shim/library/ring/src/error/unspecified.rs
    functionUses: 0
    functionsReached:
    - write_str
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: KeyRejected::inconsistent_components
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn inconsistent_components() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: KeyRejected::invalid_component
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn invalid_component() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: KeyRejected::invalid_encoding
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 2
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn invalid_encoding() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: KeyRejected::rng_failed
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn rng_failed() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: KeyRejected::public_key_is_missing
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn public_key_is_missing() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: KeyRejected::too_small
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn too_small() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: KeyRejected::too_large
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn too_large() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: KeyRejected::version_not_supported
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn version_not_supported() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: KeyRejected::wrong_algorithm
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn wrong_algorithm() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: KeyRejected::private_modulus_len_not_multiple_of_512_bits
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn private_modulus_len_not_multiple_of_512_bits() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: KeyRejected::unexpected_error
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub(crate) fn unexpected_error() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/td-shim/library/ring/src/error/key_rejected.rs:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 4
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: KeyRejected::fmt
    functionSourceFile: /src/td-shim/library/ring/src/error/key_rejected.rs
    functionUses: 0
    functionsReached:
    - write_str
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::to_ascii_lowercase
      Src: /src/td-shim/library/ring/src/arithmetic/constant.rs:5,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: parse_digit
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/constant.rs
    functionUses: 0
    functionsReached:
    - Result::to_ascii_lowercase
    linkageType: ''
    returnType: u8
    signature: 'const fn parse_digit(d: u8) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::as_bytes
      Src: /src/td-shim/library/ring/src/arithmetic/constant.rs:14,1
    - Dst: size_of::<LeakyLimb>
      Src: /src/td-shim/library/ring/src/arithmetic/constant.rs:16,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/constant.rs:19,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/constant.rs:20,1
    - Dst: parse_digit
      Src: /src/td-shim/library/ring/src/arithmetic/constant.rs:21,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - hex
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 27
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 27
    functionName: limbs_from_hex
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/constant.rs
    functionUses: 0
    functionsReached:
    - parse_digit
    - Result::len
    - Result::as_bytes
    - size_of::<LeakyLimb>
    linkageType: ''
    returnType: '[LeakyLimb; LIMBS]'
    signature: 'pub const fn limbs_from_hex<const LIMBS: usize>(hex: &str) -> [LeakyLimb;
      LIMBS]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:77,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:78,1
    - Dst: LimbSliceError::too_short
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:78,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:78,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:80,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:80,1
    - Dst: OnceNonZeroUsize::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:80,1
    - Dst: usize::get
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:87,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:88,1
    - Dst: LimbSliceError::too_long
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:88,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:88,1
    - Dst: impl AliasingSlices3<Limb>::with_non_dangling_non_null_pointers_rab
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:90,1
    - Dst: '!::as_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:92,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:94,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/arithmetic/ffi.rs:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 5
    argNames:
    - in_out
    - n
    - n0
    - cpu
    - f
    argTypes:
    - impl AliasingSlices3<Limb>
    - '&[Limb]'
    - '&N0'
    - Cpu
    - "unsafe extern \"C\" fn(\n        r: *mut Limb,\n        a: *const Limb,\n \
      \       b: *const Limb,\n        n: *const Limb,\n        n0: &N0,\n       \
      \ len: c::NonZero_size_t,\n    )"
    constantsTouched: []
    func_position:
      end: 97
      start: 55
    functionDepth: 9
    functionLinenumber: 55
    functionLinenumberEnd: 97
    functionName: bn_mul_mont_ffi
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/ffi.rs
    functionUses: 0
    functionsReached:
    - LimbSliceError::too_long
    - OnceNonZeroUsize::unwrap_or_else
    - '!::len'
    - impl AliasingSlices3<Limb>::with_non_dangling_non_null_pointers_rab
    - LimbSliceError::too_short
    - '!::as_ptr'
    - f
    - Result::map_err
    - NonZeroUsize::new
    - usize::get
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(super) unsafe fn bn_mul_mont_ffi<Cpu, const LEN_MIN: usize, const
      LEN_MOD: usize>(in_out: impl AliasingSlices3<Limb>,n: &[Limb],n0: &N0,cpu: Cpu,f:
      unsafe extern "C" fn(r: *mut Limb,a: *const Limb,b: *const Limb,n: *const Limb,n0:
      &N0,len: c::NonZero_size_t,),) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/arithmetic/n0.rs:29,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/arithmetic/n0.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - n0
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: N0::precalculated
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/n0.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub const fn precalculated(n0: u64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - Elem<M, E>
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: Storage::from
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(elem: Elem<M, E>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - out
    argTypes:
    - Storage<M>
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: Elem::clone_into
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn clone_into(&self, mut out: Storage<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_are_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:104,1
    - Dst: LimbMask::leak
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: Elem::is_zero
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - LimbMask::leak
    - limb::limbs_are_zero
    linkageType: ''
    returnType: bool
    signature: pub fn is_zero(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:116,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:116,1
    - Dst: limbs_mul_mont
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:117,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:119,1
    - Dst: u8::n0
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:120,1
    - Dst: u8::cpu_features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:121,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - in_out
    - m
    argTypes:
    - Storage<M>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 10
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: from_montgomery_amm
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - u8::n0
    - Result::unwrap_or_else
    - u8::limbs
    - Result::len
    - limbs_mul_mont
    - u8::cpu_features
    linkageType: ''
    returnType: Elem
    signature: 'fn from_montgomery_amm<M>(mut in_out: Storage<M>, m: &Modulus<M>)
      -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: from_montgomery_amm
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:134,1
    - Dst: Storage::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 11
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Elem::into_unencoded
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Storage::from
    - from_montgomery_amm
    linkageType: ''
    returnType: Elem
    signature: 'pub fn into_unencoded(self, m: &Modulus<M>) -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:143,1
    - Dst: BoxedLimbs::from_be_bytes_padded_less_than
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - input
    - m
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: Elem::from_be_bytes_padded
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - BoxedLimbs::from_be_bytes_padded_less_than
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_be_bytes_padded(input: untrusted::Input,m: &Modulus<M>,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: Elem::fill_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - limb::big_endian_from_limbs
    linkageType: ''
    returnType: void
    signature: 'pub fn fill_be_bytes(&self, out: &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_mul_mont
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:165,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:166,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:166,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:166,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:167,1
    - Dst: u8::n0
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:168,1
    - Dst: u8::cpu_features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:169,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - out
    - a
    - b
    - m
    argTypes:
    - Storage<M>
    - '&Elem<M, AF>'
    - '&Elem<M, BF>'
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 176
      start: 156
    functionDepth: 10
    functionLinenumber: 156
    functionLinenumberEnd: 176
    functionName: elem_mul_into
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - u8::n0
    - as_ref
    - Result::unwrap_or_else
    - as_mut
    - u8::limbs
    - limbs_mul_mont
    - u8::cpu_features
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_mul_into<M, AF, BF>(mut out: Storage<M>,a: &Elem<M, AF>,b:
      &Elem<M, BF>,m: &Modulus<M>,) -> Elem<M, <(AF, BF) as ProductEncoding>::Output>where(AF,
      BF): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_mul_mont
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:186,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:188,1
    - Dst: u8::n0
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:189,1
    - Dst: u8::cpu_features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:190,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - '&Elem<M, AF>'
    - Elem<M, BF>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 10
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: elem_mul
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - u8::n0
    - Result::unwrap_or_else
    - u8::limbs
    - limbs_mul_mont
    - u8::cpu_features
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_mul<M, AF, BF>(a: &Elem<M, AF>,mut b: Elem<M, BF>,m: &Modulus<M>,)
      -> Elem<M, <(AF, BF) as ProductEncoding>::Output>where(AF, BF): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_double_mod
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:201,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:201,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - '&mut Elem<M, AF>'
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 10
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: elem_double
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - u8::limbs
    - limb::limbs_double_mod
    linkageType: ''
    returnType: void
    signature: 'fn elem_double<M, AF>(r: &mut Elem<M, AF>, m: &Modulus<M>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:216,1
    - Dst: limb::limbs_reduce_once
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:217,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:217,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - r
    - a
    - m
    - other_modulus_len_bits
    argTypes:
    - Storage<M>
    - '&Elem<A, Unencoded>'
    - '&Modulus<M>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 10
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: elem_reduced_once
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - limb::limbs_reduce_once
    - u8::limbs
    - copy_from_slice
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_reduced_once<A, M>(mut r: Storage<M>,a: &Elem<A, Unencoded>,m:
      &Modulus<M>,other_modulus_len_bits: BitLength,) -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:241,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:242,1
    - Dst: limbs_from_mont_in_place
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:244,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:244,1
    - Dst: u8::n0
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 4
    argNames:
    - r
    - a
    - m
    - other_prime_len_bits
    argTypes:
    - Storage<Smaller>
    - '&Elem<Larger, Unencoded>'
    - '&Modulus<Smaller>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 10
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: elem_reduced
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - len
    - u8::n0
    - copy_from_slice
    - limbs_from_mont_in_place
    - u8::limbs
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_reduced<Larger, Smaller>(mut r: Storage<Smaller>,a: &Elem<Larger,
      Unencoded>,m: &Modulus<Smaller>,other_prime_len_bits: BitLength,) -> Elem<Smaller,
      RInverse>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_square_mont
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:259,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:259,1
    - Dst: u8::n0
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:259,1
    - Dst: u8::cpu_features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:259,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - Elem<M, E>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 10
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: elem_squared
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - u8::n0
    - Result::unwrap_or_else
    - u8::limbs
    - limbs_square_mont
    - u8::cpu_features
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_squared<M, E>(mut a: Elem<M, E>,m: &Modulus<M>,) -> Elem<M,
      <(E, E) as ProductEncoding>::Output>where(E, E): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:273,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:274,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:276,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:276,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:277,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:278,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 4
    argNames:
    - r
    - a
    - m
    - smaller_modulus_bits
    argTypes:
    - Storage<Larger>
    - Elem<Smaller, Unencoded>
    - '&Modulus<Larger>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: elem_widen
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - len
    - copy_from_slice
    - u8::len_bits
    - fill
    - Ok
    - split_at_mut
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn elem_widen<Larger, Smaller>(mut r: Storage<Larger>,a: Elem<Smaller,
      Unencoded>,m: &Modulus<Larger>,smaller_modulus_bits: BitLength,) -> Result<Elem<Larger,
      Unencoded>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_add_assign_mod
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:287,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:287,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - Elem<M, E>
    - Elem<M, E>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 10
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: elem_add
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - limb::limbs_add_assign_mod
    - u8::limbs
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_add<M, E>(mut a: Elem<M, E>, b: Elem<M, E>, m: &Modulus<M>)
      -> Elem<M, E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:304,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:304,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:304,1
    - Dst: OnceNonZeroUsize::unwrap
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:304,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:305,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:305,1
    - Dst: with_non_dangling_non_null_pointers_rab
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:305,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:307,1
    - Dst: Result::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:307,1
    - Dst: LIMBS_sub_mod
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:308,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - Elem<M, E>
    - '&Elem<M, E>'
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 10
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: elem_sub
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - with_non_dangling_non_null_pointers_rab
    - Result::as_ptr
    - as_mut
    - OnceNonZeroUsize::unwrap
    - u8::limbs
    - unwrap_or_else
    - Result::len
    - NonZeroUsize::new
    - LIMBS_sub_mod
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_sub<M, E>(mut a: Elem<M, E>, b: &Elem<M, E>, m: &Modulus<M>)
      -> Elem<M, E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:327,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:327,1
    - Dst: u8::oneR
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:332,1
    - Dst: Result::trailing_zeros
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:349,1
    - Dst: elem_double
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:355,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:390,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - out
    - m
    argTypes:
    - Storage<M>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 397
      start: 325
    functionDepth: 10
    functionLinenumber: 325
    functionLinenumberEnd: 397
    functionName: One::newRR
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - Self
    - u8::limbs
    - Result::len
    - Result::trailing_zeros
    - u8::oneR
    - elem_squared
    - elem_double
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn newRR(mut out: Storage<M>, m: &Modulus<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:402,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m
    argTypes:
    - One<M, RR>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 11
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: One::newRRR
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - elem_squared
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn newRRR(One(oneRR): One<M, RR>, m: &Modulus<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: One::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Elem'
    signature: fn as_ref(&self) -> &Elem<M, E>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:414,1
    - Dst: clone_into
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - out
    argTypes:
    - Storage<M>
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: One::clone_into
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - clone_into
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn clone_into(&self, out: Storage<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::get
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:450,1
    - Dst: usize::clone_into
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:451,1
    - Dst: Result::leading_zeros
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:452,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:456,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 4
    argNames:
    - out
    - base
    - exponent
    - m
    argTypes:
    - Storage<M>
    - Elem<M, R>
    - NonZeroU64
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 462
      start: 427
    functionDepth: 9
    functionLinenumber: 427
    functionLinenumberEnd: 462
    functionName: elem_exp_vartime
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - usize::clone_into
    - Result::get
    - Result::leading_zeros
    - elem_squared
    - elem_mul
    linkageType: ''
    returnType: Elem
    signature: 'pub(crate) fn elem_exp_vartime<M>(out: Storage<M>,base: Elem<M, R>,exponent:
      NonZeroU64,m: &Modulus<M>,) -> Elem<M, R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:494,1
    - Dst: bigint::elem_exp_consttime
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:495,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:496,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - c
    - p
    - other_prime_len_bits
    - cpu_features
    argTypes:
    - '&bigint::Elem<N>'
    - '&PrivateCrtPrime<M>'
    - BitLength
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 504
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 504
    functionName: elem_exp_consttime
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - modulus
    - u8::alloc_zero
    - Result::map_err
    - bigint::elem_exp_consttime
    linkageType: ''
    returnType: Result
    signature: 'fn elem_exp_consttime<M>(c: &bigint::Elem<N>,p: &PrivateCrtPrime<M>,other_prime_len_bits:
      BitLength,cpu_features: cpu::Features,) -> Result<bigint::Elem<M>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:538,1
    - Dst: LIMBS_select_512_32
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:539,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:539,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:539,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:539,1
    - Dst: Self::unwrap
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - table
    - acc
    - i
    argTypes:
    - '&[Limb]'
    - '&mut Elem<M, R>'
    - Window
    constantsTouched: []
    func_position:
      end: 542
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 542
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::gather
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - len
    - Result::from
    - as_mut_ptr
    - Self::unwrap
    - Option::as_ptr
    - LIMBS_select_512_32
    linkageType: ''
    returnType: void
    signature: 'fn gather<M>(table: &[Limb], acc: &mut Elem<M, R>, i: Window)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:552,1
    - Dst: gather
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:554,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - table
    - acc
    - m
    - i
    - tmp
    argTypes:
    - '&[Limb]'
    - Elem<M, R>
    - '&Modulus<M>'
    - Window
    - Elem<M, R>
    constantsTouched: []
    func_position:
      end: 557
      start: 544
    functionDepth: 11
    functionLinenumber: 544
    functionLinenumberEnd: 557
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::power
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - gather
    - elem_squared
    - elem_mul
    linkageType: ''
    returnType: (Elem
    signature: 'fn power<M>(table: &[Limb],mut acc: Elem<M, R>,m: &Modulus<M>,i: Window,mut
      tmp: Elem<M, R>,) -> (Elem<M, R>, Elem<M, R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - i
    - num_limbs
    argTypes:
    - '&[Limb]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: 'fn entry(table: &[Limb], i: usize, num_limbs: usize) -> &[Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - i
    - num_limbs
    argTypes:
    - '&mut [Limb]'
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry_mut
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [Limb]'
    signature: 'fn entry_mut(table: &mut [Limb], i: usize, num_limbs: usize) -> &mut
      [Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u8::n0
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:635,1
    - Dst: u8::cpu_features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:637,1
    - Dst: cpu::Features::get_feature
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:637,1
    - Dst: u8::cpu_features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:638,1
    - Dst: cpu::Features::get_feature
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:638,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:640,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:640,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:640,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:641,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:641,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:641,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:642,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:646,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:646,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:648,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:648,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:648,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:650,1
    - Dst: '&One<M, RRR>::as_ref'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:652,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:653,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:656,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:656,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:656,1
    - Dst: '&One<M, RRR>::len'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:657,1
    - Dst: limbs512::AlignedStorage::<STORAGE_LIMBS>::zeroed
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:682,1
    - Dst: Option::aligned_chunks_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:683,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:683,1
    - Dst: Option::split_at_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:686,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:690,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:691,1
    - Dst: as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:694,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:694,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:696,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:697,1
    - Dst: elem_reduced
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:699,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:700,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:703,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:703,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:703,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:704,1
    - Dst: mul_mont5
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:710,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:711,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:718,1
    - Dst: Storage::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:719,1
    - Dst: u8::oneR
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:745,1
    - Dst: as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:745,1
    - Dst: scatter5
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:746,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:746,1
    - Dst: Option::as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:746,1
    - Dst: as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:749,1
    - Dst: '&mut [T]::copy_from_slice'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:749,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:750,1
    - Dst: scatter_powers_of_2
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:753,1
    - Dst: Option::as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:753,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:753,1
    - Dst: step_by
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:756,1
    - Dst: Window::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:757,1
    - Dst: mul_mont_gather5_amm
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:760,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:761,1
    - Dst: Option::as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:763,1
    - Dst: scatter_powers_of_2
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:770,1
    - Dst: Option::as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:770,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:770,1
    - Dst: Option::as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:773,1
    - Dst: limb::fold_5_bit_windows
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:775,1
    - Dst: Result::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:776,1
    - Dst: gather5
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:778,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:778,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:778,1
    - Dst: power5_amm
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:783,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:783,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:783,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:790,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:790,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:791,1
    - Dst: from_montgomery_amm
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:791,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 196
    argCount: 6
    argNames:
    - out
    - base_mod_n
    - oneRRR
    - exponent
    - m
    - other_prime_len_bits
    argTypes:
    - Storage<M>
    - '&Elem<N>'
    - '&One<M, RRR>'
    - '&PrivateExponent'
    - '&Modulus<M>'
    - BitLength
    constantsTouched: []
    func_position:
      end: 792
      start: 615
    functionDepth: 10
    functionLinenumber: 615
    functionLinenumberEnd: 792
    functionName: elem_exp_consttime_inner
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - len
    - Window::from
    - slice::as_chunks
    - as_ref
    - mul_mont5
    - LimbSliceError::len_mismatch
    - Storage::from
    - u8::oneR
    - split_at_mut
    - cpu::Features::get_feature
    - scatter5
    - u8::n0
    - Result::map_err
    - Option::aligned_chunks_mut
    - as_flattened_mut
    - u8::limbs
    - Ok
    - '&mut [T]::copy_from_slice'
    - limb::fold_5_bit_windows
    - Option::as_mut
    - LenMismatchError::new
    - power5_amm
    - as_mut
    - limbs512::AlignedStorage::<STORAGE_LIMBS>::zeroed
    - Result::limbs
    - mul_mont_gather5_amm
    - scatter_powers_of_2
    - elem_reduced
    - Option::as_ref
    - Err
    - as_flattened
    - u8::cpu_features
    - step_by
    - from_montgomery_amm
    - copy_from_slice
    - Option::split_at_mut
    - unwrap_or_else
    - gather5
    - Result::len
    - '&One<M, RRR>::len'
    - '&One<M, RRR>::as_ref'
    linkageType: ''
    returnType: Result
    signature: 'fn elem_exp_consttime_inner<N, M, const STORAGE_LIMBS: usize>(out:
      Storage<M>,base_mod_n: &Elem<N>,oneRRR: &One<M, RRR>,exponent: &PrivateExponent,m:
      &Modulus<M>,other_prime_len_bits: BitLength,) -> Result<Elem<M, Unencoded>,
      LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scatter5
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:732,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:732,1
    - Dst: Option::as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:732,1
    - Dst: sqr_mont5
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:737,1
    - Dst: as_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:737,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - table
    - acc
    - m_cached
    - n0
    - i
    - cpu
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - LeakyWindow
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 740
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 740
    functionName: e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::scatter_powers_of_2
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - Option::as_mut
    - sqr_mont5
    - as_mut
    - Ok
    - scatter5
    linkageType: ''
    returnType: Result
    signature: 'fn scatter_powers_of_2(mut table: AsChunksMut<Limb, 8>,mut acc: AsChunksMut<Limb,
      8>,m_cached: AsChunks<Limb, 8>,n0: &N0,mut i: LeakyWindow,cpu: Option<(Adx,
      Bmi2)>,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:800,1
    - Dst: limb::verify_limbs_equal_1_leak_bit
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - '&Elem<M, R>'
    - Elem<M, Unencoded>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 802
      start: 795
    functionDepth: 11
    functionLinenumber: 795
    functionLinenumberEnd: 802
    functionName: verify_inverses_consttime
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - limb::verify_limbs_equal_1_leak_bit
    - elem_mul
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_inverses_consttime<M>(a: &Elem<M, R>,b: Elem<M, Unencoded>,m:
      &Modulus<M>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limb::limbs_equal_limbs_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:809,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:809,1
    - Dst: leak
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:811,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:812,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<M, E>'
    - '&Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 815
      start: 805
    functionDepth: 5
    functionLinenumber: 805
    functionLinenumberEnd: 815
    functionName: elem_verify_equal_consttime
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - leak
    - Result::unwrap_or_else
    - limb::limbs_equal_limbs_consttime
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn elem_verify_equal_consttime<M, E>(a: &Elem<M, E>,b: &Elem<M,
      E>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - LenMismatchError
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: unwrap_impossible_len_mismatch_error
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: fn unwrap_impossible_len_mismatch_error<T>(LenMismatchError
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - LimbSliceError
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: unwrap_impossible_limb_slice_error
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn unwrap_impossible_limb_slice_error(err: LimbSliceError)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:846,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:847,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:848,1
    - Dst: consume_modulus::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:852,1
    - Dst: u8::modulus
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:853,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:854,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:855,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:857,1
    - Dst: PrivateExponent::from_be_bytes_for_test_only
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:858,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:858,1
    - Dst: Result::expect
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:858,1
    - Dst: One::newRR
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:862,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:862,1
    - Dst: One::newRRR
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:863,1
    - Dst: u8::len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:870,1
    - Dst: BoxedLimbs::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:872,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:872,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:873,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:873,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:880,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:880,1
    - Dst: elem_exp_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:882,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:883,1
    - Dst: elem_exp_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:891,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:892,1
    - Dst: elem_exp_consttime_inner::<_, _, { (4096 / LIMB_BITS) * STORAGE_ENTRIES
        }>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:902,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:903,1
    - Dst: assert_elem_eq
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:912,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 921
      start: 845
    functionDepth: 10
    functionLinenumber: 845
    functionLinenumberEnd: 921
    functionName: tests::test_elem_exp_consttime
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - len
    - elem_exp_consttime
    - u8::modulus
    - BoxedLimbs::zero
    - u8::alloc_zero
    - One::newRRR
    - One::newRR
    - consume_modulus::<M>
    - untrusted::Input::from
    - Option::consume_bytes
    - elem_exp_consttime_inner::<_, _, { (4096 / LIMB_BITS) * STORAGE_ENTRIES }>
    - consume_elem
    - u8::limbs
    - PrivateExponent::from_be_bytes_for_test_only
    - Ok
    - test::run
    - u8::len_bits
    - cpu::features
    - copy_from_slice
    - Result::expect
    - assert_elem_eq
    - Result::len
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test_elem_exp_consttime()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:929,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:930,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:931,1
    - Dst: consume_modulus::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:935,1
    - Dst: u8::modulus
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:936,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:937,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:938,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:939,1
    - Dst: into_encoded
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:941,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:941,1
    - Dst: into_encoded
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:942,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:942,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:943,1
    - Dst: Elem::into_unencoded
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:944,1
    - Dst: assert_elem_eq
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:945,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 950
      start: 928
    functionDepth: 10
    functionLinenumber: 928
    functionLinenumberEnd: 950
    functionName: tests::test_elem_mul
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - test::run
    - u8::modulus
    - assert_elem_eq
    - consume_elem
    - Elem::into_unencoded
    - cpu::features
    - u8::alloc_zero
    - Ok
    - into_encoded
    - consume_modulus::<M>
    - test_vector_file
    - elem_mul
    linkageType: ''
    returnType: void
    signature: fn test_elem_mul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:954,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:955,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:956,1
    - Dst: consume_modulus::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:960,1
    - Dst: u8::modulus
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:961,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:962,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:963,1
    - Dst: into_encoded
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:965,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:965,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:966,1
    - Dst: Elem::into_unencoded
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:967,1
    - Dst: assert_elem_eq
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:968,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 953
    functionDepth: 10
    functionLinenumber: 953
    functionLinenumberEnd: 973
    functionName: tests::test_elem_squared
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - test::run
    - u8::modulus
    - assert_elem_eq
    - consume_elem
    - Elem::into_unencoded
    - cpu::features
    - u8::alloc_zero
    - Ok
    - into_encoded
    - elem_squared
    - consume_modulus::<M>
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test_elem_squared()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:977,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:978,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:979,1
    - Dst: consume_modulus::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:985,1
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:986,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:987,1
    - Dst: consume_elem_unchecked::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:989,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:989,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:990,1
    - Dst: elem_reduced
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:992,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:992,1
    - Dst: One::newRR
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:993,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:993,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:994,1
    - Dst: '&bigint::Elem::as_ref'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:994,1
    - Dst: assert_elem_eq
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:995,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 976
    functionDepth: 10
    functionLinenumber: 976
    functionLinenumberEnd: 1000
    functionName: tests::test_elem_reduced
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - consume_elem_unchecked::<M>
    - test::run
    - len
    - '&bigint::Elem::as_ref'
    - assert_elem_eq
    - consume_elem
    - cpu::features
    - modulus
    - u8::alloc_zero
    - Ok
    - elem_reduced
    - One::newRR
    - consume_modulus::<M>
    - test_vector_file
    - len_bits
    - elem_mul
    linkageType: ''
    returnType: void
    signature: fn test_elem_reduced()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1004,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1005,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1006,1
    - Dst: consume_modulus::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1012,1
    - Dst: u8::modulus
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1013,1
    - Dst: consume_elem_unchecked::<O>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1014,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1014,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1014,1
    - Dst: consume_elem::<M>
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1015,1
    - Dst: u8::len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1016,1
    - Dst: elem_reduced_once
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1019,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1019,1
    - Dst: assert_elem_eq
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1020,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1003
    functionDepth: 9
    functionLinenumber: 1003
    functionLinenumberEnd: 1025
    functionName: tests::test_elem_reduced_once
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - test::run
    - consume_elem_unchecked::<O>
    - consume_elem::<M>
    - u8::modulus
    - u8::len_bits
    - assert_elem_eq
    - u8::limbs
    - cpu::features
    - Result::len
    - u8::alloc_zero
    - Ok
    - elem_reduced_once
    - consume_modulus::<M>
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test_elem_reduced_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1367,1
    - Dst: '&[u8]::extend'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1369,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1371,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1372,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - q
    - test_case
    - name
    argTypes:
    - '&Modulus<Q>'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1379
      start: 1366
    functionDepth: 6
    functionLinenumber: 1366
    functionLinenumberEnd: 1379
    functionName: tests::consume_elem
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Option::consume_bytes
    - '&[u8]::extend'
    - Result::unwrap
    - elem_parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Elem
    signature: 'fn consume_elem(q: &Modulus<Q>, test_case: &mut test::TestCase, name:
      &str) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1041,1
    - Dst: BoxedLimbs::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1042,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1043,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1043,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - test_case
    - name
    - num_limbs
    argTypes:
    - '&mut test::TestCase'
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 1049
      start: 1036
    functionDepth: 6
    functionLinenumber: 1036
    functionLinenumberEnd: 1049
    functionName: tests::consume_elem_unchecked
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Option::consume_bytes
    - limb::parse_big_endian_and_pad_consttime
    - Result::unwrap
    - BoxedLimbs::zero
    linkageType: ''
    returnType: Elem
    signature: 'fn consume_elem_unchecked<M>(test_case: &mut test::TestCase,name:
      &str,num_limbs: usize,) -> Elem<M, Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1052,1
    - Dst: OwnedModulus::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1053,1
    - Dst: OwnedModulusValue::from_be_bytes
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1054,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1054,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - test_case
    - name
    argTypes:
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1056
      start: 1051
    functionDepth: 6
    functionLinenumber: 1051
    functionLinenumberEnd: 1056
    functionName: tests::consume_modulus
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Option::consume_bytes
    - Result::unwrap
    - OwnedModulus::from
    - OwnedModulusValue::from_be_bytes
    linkageType: ''
    returnType: OwnedModulus
    signature: 'fn consume_modulus<M>(test_case: &mut test::TestCase, name: &str)
      -> OwnedModulus<M>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_verify_equal_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1059,1
    - Dst: Result::is_err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<M, E>'
    - '&Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 6
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: tests::assert_elem_eq
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - elem_verify_equal_consttime
    - Result::is_err
    linkageType: ''
    returnType: void
    signature: 'fn assert_elem_eq<M, E>(a: &Elem<M, E>, b: &Elem<M, E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: One::newRR
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1065,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1066,1
    - Dst: '&bigint::Elem::as_ref'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint.rs:1066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - a
    - m
    argTypes:
    - Storage<M>
    - Elem<M, Unencoded>
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 1067
      start: 1064
    functionDepth: 11
    functionLinenumber: 1064
    functionLinenumberEnd: 1067
    functionName: tests::into_encoded
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint.rs
    functionUses: 0
    functionsReached:
    - '&bigint::Elem::as_ref'
    - One::newRR
    - elem_mul
    linkageType: ''
    returnType: Elem
    signature: 'fn into_encoded<M>(out: Storage<M>, a: Elem<M, Unencoded>, m: &Modulus<M>)
      -> Elem<M, R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AliasingSlices2::with_potentially_dangling_non_null_pointers_ra
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:44,1
    - Dst: NonZeroUsize::get
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - NonZeroUsize
    - impl FnOnce(*mut T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: AliasingSlices2::with_non_dangling_non_null_pointers_ra
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - AliasingSlices2::with_potentially_dangling_non_null_pointers_ra
    - NonZeroUsize::get
    linkageType: ''
    returnType: Result
    signature: 'fn with_non_dangling_non_null_pointers_ra<R>(self,expected_len: NonZeroUsize,f:
      impl FnOnce(*mut T, *const T) -> R,) -> Result<R, LenMismatchError>whereSelf:
      Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:69,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:70,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:70,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:70,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:72,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:72,1
    - Dst: Result::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: '&mut [T]::with_potentially_dangling_non_null_pointers_ra'
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - Result::as_ptr
    - LenMismatchError::new
    - Result::as_mut_ptr
    - Result::len
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_ra<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:83,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:84,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:84,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:84,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:86,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:87,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:87,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:87,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:89,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:89,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: (&mut [T], &[T])::with_potentially_dangling_non_null_pointers_ra
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - len
    - LenMismatchError::new
    - Result::as_mut_ptr
    - as_ptr
    - Result::len
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_ra<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AliasingSlices3::with_potentially_dangling_non_null_pointers_rab
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:119,1
    - Dst: NonZeroUsize::get
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - NonZeroUsize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: AliasingSlices3::with_non_dangling_non_null_pointers_rab
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - AliasingSlices3::with_potentially_dangling_non_null_pointers_rab
    - NonZeroUsize::get
    linkageType: ''
    returnType: Result
    signature: 'fn with_non_dangling_non_null_pointers_rab<R>(self,expected_len: NonZeroUsize,f:
      impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>whereSelf:
      Sized,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <Self as AliasingSlices2<T>>::with_potentially_dangling_non_null_pointers_ra
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: '&mut [T]::with_potentially_dangling_non_null_pointers_rab'
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - <Self as AliasingSlices2<T>>::with_potentially_dangling_non_null_pointers_ra
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_rab<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with_potentially_dangling_non_null_pointers_rab
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: (&mut [T], &[T], &[T])::with_potentially_dangling_non_null_pointers_rab
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - with_potentially_dangling_non_null_pointers_rab
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_rab<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:172,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:173,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:173,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:173,1
    - Dst: Result::with_potentially_dangling_non_null_pointers_ra
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:175,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/inout.rs:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - expected_len
    - f
    argTypes:
    - usize
    - impl FnOnce(*mut T, *const T, *const T) -> R
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: (RA, &[T])::with_potentially_dangling_non_null_pointers_rab
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/inout.rs
    functionUses: 0
    functionsReached:
    - LenMismatchError::new
    - Result::with_potentially_dangling_non_null_pointers_ra
    - Option::as_ptr
    - Option::len
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn with_potentially_dangling_non_null_pointers_rab<R>(self,expected_len:
      usize,f: impl FnOnce(*mut T, *const T, *const T) -> R,) -> Result<R, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 0
    argCount: 4
    argNames:
    - in_out
    - n
    - n0
    - cpu
    argTypes:
    - impl AliasingSlices3<Limb>
    - '&[Limb]'
    - '&N0'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 190
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 190
    functionName: limbs_mul_mont
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/montgomery.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn limbs_mul_mont(in_out: impl AliasingSlices3<Limb>,n:
      &[Limb],n0: &N0,cpu: cpu::Features,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::from
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:269,1
    - Dst: bn_from_montgomery_in_place
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:270,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:271,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:272,1
    - Dst: '&mut [Limb]::as_mut_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:273,1
    - Dst: '&mut [Limb]::len'
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:274,1
    - Dst: u8::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:275,1
    - Dst: u8::len
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:276,1
    - Dst: Self::unwrap
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - r
    - tmp
    - m
    - n0
    argTypes:
    - '&mut [Limb]'
    - '&mut [Limb]'
    - '&[Limb]'
    - '&N0'
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: limbs_from_mont_in_place
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/montgomery.rs
    functionUses: 1
    functionsReached:
    - u8::len
    - Result::from
    - bn_from_montgomery_in_place
    - Result::as_mut_ptr
    - Self::unwrap
    - u8::as_ptr
    - Result::len
    - '&mut [Limb]::as_mut_ptr'
    - '&mut [Limb]::len'
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn limbs_from_mont_in_place(r: &mut [Limb], tmp: &mut [Limb],
      m: &[Limb], n0: &N0)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:291,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:293,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:294,1
    - Dst: Self::IntoIter::enumerate
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:294,1
    - Dst: limbs_mul_add_limb
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:296,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:296,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - r
    - a
    - b
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    - '&[Limb]'
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: limbs_mul
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/montgomery.rs
    functionUses: 0
    functionsReached:
    - len
    - Option::iter
    - as_mut_ptr
    - as_ptr
    - fill
    - Self::IntoIter::enumerate
    - limbs_mul_add_limb
    linkageType: ''
    returnType: void
    signature: 'fn limbs_mul(r: &mut [Limb], a: &[Limb], b: &[Limb])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks_mut
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:326,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:326,1
    - Dst: aarch64::mont::sqr_mont5
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:327,1
    - Dst: slice::as_chunks_mut
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:335,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:335,1
    - Dst: x86_64::mont::sqr_mont5
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:336,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:336,1
    - Dst: limbs_mul_mont
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - r
    - n
    - n0
    - cpu
    argTypes:
    - '&mut [Limb]'
    - '&[Limb]'
    - '&N0'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 341
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 341
    functionName: limbs_square_mont
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/montgomery.rs
    functionUses: 1
    functionsReached:
    - slice::as_chunks_mut
    - Result::get_feature
    - slice::as_chunks
    - x86_64::mont::sqr_mont5
    - aarch64::mont::sqr_mont5
    - limbs_mul_mont
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn limbs_square_mont(r: &mut [Limb],n: &[Limb],n0: &N0,cpu:
      cpu::Features,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:366,1
    - Dst: enumerate
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:366,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:369,1
    - Dst: Result::copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:370,1
    - Dst: limbs_mul_add_limb
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:375,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:375,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:375,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/montgomery.rs:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: tests::test_mul_add_words
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/montgomery.rs
    functionUses: 0
    functionsReached:
    - len
    - Result::as_mut_ptr
    - as_ptr
    - iter
    - enumerate
    - limbs_mul_add_limb
    - Result::copy_from_slice
    linkageType: ''
    returnType: void
    signature: fn test_mul_add_words()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [T]::as_flattened_mut'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:92,1
    - Dst: '!::as_flattened'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:93,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: LimbSliceError::too_short
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:94,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:97,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:98,1
    - Dst: LimbSliceError::too_long
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:98,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:98,1
    - Dst: Limb::from
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:103,1
    - Dst: Limb::from
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:104,1
    - Dst: '&mut [T]::with_non_dangling_non_null_pointers_ra'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:107,1
    - Dst: '!::as_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:109,1
    - Dst: bn_sqr8x_mont
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:110,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 4
    argNames:
    - in_out
    - n
    - n0
    - maybe_adx_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 113
      start: 73
    functionDepth: 9
    functionLinenumber: 73
    functionLinenumberEnd: 113
    functionName: sqr_mont5
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 2
    functionsReached:
    - LimbSliceError::too_long
    - bn_sqr8x_mont
    - '&mut [T]::as_flattened_mut'
    - '!::len'
    - Result::map_err
    - LimbSliceError::too_short
    - '&mut [T]::with_non_dangling_non_null_pointers_ra'
    - '!::as_ptr'
    - OnceNonZeroUsize::ok_or_else
    - Limb::from
    - NonZeroUsize::new
    - get
    - Err
    - '!::as_flattened'
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn sqr_mont5(mut in_out: AsChunksMut<Limb,
      8>,n: AsChunks<Limb, 8>,n0: &N0,maybe_adx_bmi2: Option<(Adx, Bmi2)>,) -> Result<(),
      LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul_mont5_4x
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:42,1
    - Dst: Result::as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:43,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:43,1
    - Dst: Option::as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:43,1
    - Dst: u8::into
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - r
    - a
    - b
    - m
    - n0
    - maybe_adx_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 48
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 48
    functionName: mul_mont5
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - u8::into
    - mul_mont5_4x
    - Option::as_flattened
    - Result::as_flattened_mut
    - as_flattened
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn mul_mont5(mut r: AsChunksMut<Limb,
      8>,a: AsChunks<Limb, 8>,b: AsChunks<Limb, 8>,m: AsChunks<Limb, 8>,n0: &N0,maybe_adx_bmi2:
      Option<(Adx, Bmi2)>,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::as_flattened'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - in_out
    - n
    - n0
    - maybe_adx_bmi2
    argTypes:
    - impl AliasingSlices3<Limb>
    - AsChunks<Limb, 4>
    - '&N0'
    - Option<(Adx, Bmi2)>
    constantsTouched: []
    func_position:
      end: 70
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 70
    functionName: mul_mont5_4x
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - '!::as_flattened'
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn mul_mont5_4x(in_out: impl AliasingSlices3<Limb>,n:
      AsChunks<Limb, 4>,n0: &N0,maybe_adx_bmi2: Option<(Adx, Bmi2)>,) -> Result<(),
      LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:131,1
    - Dst: Option::as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:131,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:132,1
    - Dst: Option::as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:133,1
    - Dst: bn_scatter5
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:135,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:135,1
    - Dst: Option::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:135,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - a
    - table
    - power
    argTypes:
    - AsChunks<Limb, 8>
    - AsChunksMut<Limb, 8>
    - LeakyWindow
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: scatter5
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 3
    functionsReached:
    - check_common
    - as_ptr
    - Option::as_mut_ptr
    - Ok
    - bn_scatter5
    - as_flattened
    - Option::as_ref
    - Option::as_flattened_mut
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) fn scatter5(a: AsChunks<Limb, 8>,mut table:
      AsChunksMut<Limb, 8>,power: LeakyWindow,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:155,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:155,1
    - Dst: Result::as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:156,1
    - Dst: Option::as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:157,1
    - Dst: bn_gather5
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:160,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:160,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:160,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - r
    - table
    - power
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - Window
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: gather5
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 2
    functionsReached:
    - check_common
    - Result::as_ref
    - Result::as_mut_ptr
    - Option::as_ptr
    - Option::as_flattened
    - Ok
    - Result::as_flattened_mut
    - bn_gather5
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) unsafe fn gather5(mut r: AsChunksMut<Limb,
      8>,table: AsChunks<Limb, 8>,power: Window,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common_with_n
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:199,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:199,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:200,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:201,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:201,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:202,1
    - Dst: Result::as_flattened_mut
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:204,1
    - Dst: Result::as_mut_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:205,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:206,1
    - Dst: Option::as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:207,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:208,1
    - Dst: '!::as_flattened'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:209,1
    - Dst: '!::as_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:210,1
    - Dst: Option<(Adx, Bmi1, Bmi2)>::is_some
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:213,1
    - Dst: bn_mulx4x_mont_gather5
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:214,1
    - Dst: bn_mul4x_mont_gather5
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:216,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 7
    argNames:
    - r
    - a
    - table
    - n
    - n0
    - power
    - maybe_adx_bmi1_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Window
    - Option<(Adx, Bmi1, Bmi2)>
    constantsTouched: []
    func_position:
      end: 219
      start: 166
    functionDepth: 9
    functionLinenumber: 166
    functionLinenumberEnd: 219
    functionName: mul_mont_gather5_amm
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - len
    - Result::as_mut_ptr
    - LimbSliceError::len_mismatch
    - Option::as_ptr
    - Result::as_flattened_mut
    - check_common_with_n
    - get
    - Option<(Adx, Bmi1, Bmi2)>::is_some
    - bn_mulx4x_mont_gather5
    - Ok
    - Result::as_ref
    - LenMismatchError::new
    - '!::as_ptr'
    - bn_mul4x_mont_gather5
    - as_ptr
    - Option::as_flattened
    - as_flattened
    - Err
    - '!::as_flattened'
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) unsafe fn mul_mont_gather5_amm(mut r:
      AsChunksMut<Limb, 8>,a: AsChunks<Limb, 8>,table: AsChunks<Limb, 8>,n: AsChunks<Limb,
      8>,n0: &N0,power: Window,maybe_adx_bmi1_bmi2: Option<(Adx, Bmi1, Bmi2)>,) ->
      Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common_with_n
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:255,1
    - Dst: AsChunksMut<Limb, 8>::as_ref
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:255,1
    - Dst: '&mut [T]::as_flattened_mut'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:256,1
    - Dst: '&mut [T]::as_mut_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:257,1
    - Dst: '&mut [T]::as_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:258,1
    - Dst: Option::as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:259,1
    - Dst: Option::as_ptr
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:260,1
    - Dst: '!::as_flattened'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:261,1
    - Dst: '!::as_ptr'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:262,1
    - Dst: Option<(Adx, Bmi1, Bmi2)>::is_some
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:265,1
    - Dst: bn_powerx5
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:266,1
    - Dst: bn_power5_nohw
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:268,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 6
    argNames:
    - in_out
    - table
    - n
    - n0
    - power
    - maybe_adx_bmi1_bmi2
    argTypes:
    - AsChunksMut<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - '&N0'
    - Window
    - Option<(Adx, Bmi1, Bmi2)>
    constantsTouched: []
    func_position:
      end: 271
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 271
    functionName: power5_amm
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 1
    functionsReached:
    - '&mut [T]::as_ptr'
    - bn_power5_nohw
    - bn_powerx5
    - '&mut [T]::as_flattened_mut'
    - Option<(Adx, Bmi1, Bmi2)>::is_some
    - '!::as_flattened'
    - '!::as_ptr'
    - '&mut [T]::as_mut_ptr'
    - Option::as_flattened
    - Ok
    - Option::as_ptr
    - check_common_with_n
    - AsChunksMut<Limb, 8>::as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub(in super::super::super) unsafe fn power5_amm(mut in_out: AsChunksMut<Limb,
      8>,table: AsChunks<Limb, 8>,n: AsChunks<Limb, 8>,n0: &N0,power: Window,maybe_adx_bmi1_bmi2:
      Option<(Adx, Bmi1, Bmi2)>,) -> Result<(), LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:283,1
    - Dst: Option::as_flattened
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:284,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: OnceNonZeroUsize::ok_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: LimbSliceError::too_short
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:285,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:286,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:287,1
    - Dst: LimbSliceError::too_long
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:287,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:287,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:289,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:289,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:290,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:290,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:290,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:291,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 2
    argNames:
    - a
    - table
    argTypes:
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    constantsTouched: []
    func_position:
      end: 295
      start: 278
    functionDepth: 9
    functionLinenumber: 278
    functionLinenumberEnd: 295
    functionName: check_common
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 2
    functionsReached:
    - LimbSliceError::too_long
    - len
    - LenMismatchError::new
    - LimbSliceError::too_short
    - LimbSliceError::len_mismatch
    - OnceNonZeroUsize::ok_or_else
    - Option::as_flattened
    - NonZeroUsize::new
    - Ok
    - Option::len
    - as_flattened
    - Err
    - get
    linkageType: ''
    returnType: Result
    signature: 'fn check_common(a: AsChunks<Limb, 8>,table: AsChunks<Limb, 8>,) ->
      Result<NonZeroUsize, LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_common
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:306,1
    - Dst: '!::as_flattened'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:307,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:308,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:308,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: LimbSliceError::len_mismatch
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: '!::len'
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:309,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - a
    - table
    - n
    argTypes:
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    - AsChunks<Limb, 8>
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 10
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: check_common_with_n
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
    functionUses: 2
    functionsReached:
    - check_common
    - '!::len'
    - LenMismatchError::new
    - '!::as_flattened'
    - LimbSliceError::len_mismatch
    - Ok
    - Err
    - get
    linkageType: ''
    returnType: Result
    signature: 'fn check_common_with_n(a: AsChunks<Limb, 8>,table: AsChunks<Limb,
      8>,n: AsChunks<Limb, 8>,) -> Result<NonZeroUsize, LimbSliceError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: BoxedLimbs::deref
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::Target'
    signature: fn deref(&self) -> &Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: BoxedLimbs::deref_mut
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut Self::Target'
    signature: fn deref_mut(&mut self) -> &mut Self::Target
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: BoxedLimbs::clone
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:65,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:65,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:65,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:66,1
    - Dst: limb::verify_limbs_less_than_limbs_leak_bit
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:67,1
    - Dst: u8::limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:67,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - input
    - m
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 10
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: BoxedLimbs::from_be_bytes_padded_less_than
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 1
    functionsReached:
    - limb::parse_big_endian_and_pad_consttime
    - limb::verify_limbs_less_than_limbs_leak_bit
    - Self::zero
    - u8::limbs
    - Result::len
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_be_bytes_padded_less_than(input: untrusted::Input,m:
      &Modulus<M>,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_boxed_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - len
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: BoxedLimbs::zero
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 2
    functionsReached:
    - into_boxed_slice
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn zero(len: usize) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: BoxedLimbs::into_limbs
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Box
    signature: pub(super) fn into_limbs(self) -> Box<[Limb]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: OwnedModulus::clone
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:87,1
    - Dst: u64::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:92,1
    - Dst: '!::limbs'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:92,1
    - Dst: u64::from
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:98,1
    - Dst: '!::limbs'
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:98,1
    - Dst: N0::precalculated
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:100,1
    - Dst: bn_neg_inv_mod_r_u64
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - n
    argTypes:
    - OwnedModulusValue<M>
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 10
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: OwnedModulus::from
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 1
    functionsReached:
    - '!::limbs'
    - u64::from
    - prefixed_extern
    - bn_neg_inv_mod_r_u64
    - N0::precalculated
    linkageType: ''
    returnType: Self
    signature: 'pub(crate) fn from(n: OwnedModulusValue<M>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_less_than
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:107,1
    - Dst: BoxedLimbs::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:108,1
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:108,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:108,1
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:109,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - l
    argTypes:
    - '&Modulus<L>'
    constantsTouched: []
    func_position:
      end: 114
      start: 106
    functionDepth: 10
    functionLinenumber: 106
    functionLinenumberEnd: 114
    functionName: OwnedModulus::to_elem
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - len
    - limbs
    - copy_from_slice
    - BoxedLimbs::zero
    - Result::len
    - Ok
    - verify_less_than
    linkageType: ''
    returnType: Result
    signature: 'pub fn to_elem<L>(&self, l: &Modulus<L>) -> Result<Elem<L, Unencoded>,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:118,1
    - Dst: OwnedModulus::len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 10
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: OwnedModulus::modulus
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - limbs
    - OwnedModulus::len_bits
    linkageType: ''
    returnType: Modulus
    signature: 'pub(crate) fn modulus(&self, cpu_features: cpu::Features) -> Modulus<M>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: OwnedModulus::len_bits
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 1
    functionsReached:
    - len_bits
    linkageType: ''
    returnType: BitLength
    signature: pub fn len_bits(&self) -> BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LeadingZerosStripped::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:133,1
    - Dst: limb::unstripped_be_bytes
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:133,1
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 10
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: OwnedModulus::be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - limb::unstripped_be_bytes
    - LeadingZerosStripped::new
    - limbs
    linkageType: ''
    returnType: LeadingZerosStripped
    signature: pub fn be_bytes(&self) -> LeadingZerosStripped<impl ExactSizeIterator<Item
      = u8> + Clone + '_>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:149,1
    - Dst: limb::limbs_negative_odd
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:152,1
    - Dst: Modulus::len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:154,1
    - Dst: BitLength::as_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:154,1
    - Dst: PathBuf::last_mut
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:164,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:164,1
    - Dst: limb::limbs_double_mod
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:169,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - out
    argTypes:
    - '&mut [Limb]'
    constantsTouched: []
    func_position:
      end: 175
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 175
    functionName: Modulus::oneR
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - len
    - Result::unwrap_or_else
    - limb::limbs_negative_odd
    - unwrap
    - limb::limbs_double_mod
    - PathBuf::last_mut
    - Modulus::len_bits
    - BitLength::as_bits
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn oneR(&self, out: &mut [Limb])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxedLimbs::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:180,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Modulus::alloc_zero
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached:
    - len
    - BoxedLimbs::zero
    linkageType: ''
    returnType: Storage
    signature: pub fn alloc_zero(&self) -> Storage<M>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: Modulus::limbs
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Modulus::n0
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&N0'
    signature: pub(super) fn n0(&self) -> &N0
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: Modulus::len_bits
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: BitLength
    signature: pub fn len_bits(&self) -> BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: Modulus::cpu_features
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpu::Features
    signature: pub(crate) fn cpu_features(&self) -> cpu::Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxedLimbs::from_be_bytes_padded_less_than
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:31,1
    - Dst: limb::limbs_reject_even_leak_bit
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:41,1
    - Dst: reverse
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:42,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:44,1
    - Dst: into_limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 11
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: PrivateExponent::from_be_bytes_padded
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs
    functionUses: 0
    functionsReached:
    - reverse
    - into_limbs
    - Ok
    - BoxedLimbs::from_be_bytes_padded_less_than
    - limb::limbs_reject_even_leak_bit
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_be_bytes_padded<M>(input: untrusted::Input,p: &Modulus<M>,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_be_bytes_padded
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:59,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:63,1
    - Dst: BoxedLimbs::<M>::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:64,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:65,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:65,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:66,1
    - Dst: Result::reverse
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:67,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:68,1
    - Dst: Result::into_limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 2
    argNames:
    - input
    - p
    argTypes:
    - untrusted::Input
    - '&Modulus<M>'
    constantsTouched: []
    func_position:
      end: 71
      start: 52
    functionDepth: 12
    functionLinenumber: 52
    functionLinenumberEnd: 71
    functionName: PrivateExponent::from_be_bytes_for_test_only
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs
    functionUses: 1
    functionsReached:
    - untrusted::Input::len
    - Result::into_limbs
    - limb::parse_big_endian_and_pad_consttime
    - Result::map_err
    - Result::reverse
    - Ok
    - Self::from_be_bytes_padded
    - BoxedLimbs::<M>::zero
    - error::KeyRejected::unexpected_error
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_be_bytes_for_test_only<M>(input: untrusted::Input,p: &Modulus<M>,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: PrivateExponent::limbs
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: OwnedModulusValue::clone
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:43,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:46,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:46,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:49,1
    - Dst: error::KeyRejected::too_large
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:49,1
    - Dst: untrusted::Reader::new
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:55,1
    - Dst: Option::peek
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:55,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:56,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:56,1
    - Dst: BoxedLimbs::zero
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:59,1
    - Dst: limb::parse_big_endian_and_pad_consttime
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:60,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:60,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:61,1
    - Dst: limb::limbs_reject_even_leak_bit
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:62,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:62,1
    - Dst: error::KeyRejected::invalid_component
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:63,1
    - Dst: limb::limbs_minimal_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:65,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 1
    argNames:
    - input
    argTypes:
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: OwnedModulusValue::from_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 1
    functionsReached:
    - untrusted::Input::len
    - error::KeyRejected::too_large
    - limb::parse_big_endian_and_pad_consttime
    - Result::map_err
    - BoxedLimbs::zero
    - limb::limbs_minimal_bits
    - error::KeyRejected::invalid_encoding
    - Ok
    - error::KeyRejected::invalid_component
    - limb::limbs_reject_even_leak_bit
    - untrusted::Reader::new
    - Err
    - error::KeyRejected::unexpected_error
    - Option::peek
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_be_bytes(input: untrusted::Input) -> Result<Self,
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OwnedModulusValue::len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:71,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:71,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:72,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:74,1
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:74,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:74,1
    - Dst: limb::verify_limbs_less_than_limbs_leak_bit
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:75,1
    - Dst: limbs
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:75,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - l
    argTypes:
    - '&Modulus<L>'
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 10
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: OwnedModulusValue::verify_less_than
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 0
    functionsReached:
    - len
    - limbs
    - OwnedModulusValue::len_bits
    - limb::verify_limbs_less_than_limbs_leak_bit
    - Result::len
    - Ok
    - Err
    - len_bits
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify_less_than<L>(&self, l: &Modulus<L>) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: OwnedModulusValue::len_bits
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: BitLength
    signature: pub fn len_bits(&self) -> BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: OwnedModulusValue::limbs
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: AlignedStorage::zeroed
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn zeroed() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:50,1
    - Dst: get_mut
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:51,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:51,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:54,1
    - Dst: slice::as_chunks_mut
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:55,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:56,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:57,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:57,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - num_entries
    - chunks_per_entry
    argTypes:
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: AlignedStorage::aligned_chunks_mut
    functionSourceFile: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs
    functionUses: 0
    functionsReached:
    - slice::as_chunks_mut
    - len
    - LenMismatchError::new
    - Result::len
    - Ok
    - ok_or_else
    - Err
    - get_mut
    linkageType: ''
    returnType: Result
    signature: 'pub fn aligned_chunks_mut(&mut self,num_entries: usize,chunks_per_entry:
      usize,) -> Result<AsChunksMut<Limb, LIMBS_PER_CHUNK>, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u128::from_ne_bytes
      Src: /src/td-shim/library/ring/src/bb/mod.rs:53,1
    - Dst: u128::from_ne_bytes
      Src: /src/td-shim/library/ring/src/bb/mod.rs:54,1
    - Dst: Result::to_ne_bytes
      Src: /src/td-shim/library/ring/src/bb/mod.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '[u8; 16]'
    - '[u8; 16]'
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: xor_16
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - u128::from_ne_bytes
    - Result::to_ne_bytes
    linkageType: ''
    returnType: '[u8; 16]'
    signature: 'pub(crate) fn xor_16(a: [u8; 16], b: [u8; 16]) -> [u8; 16]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_iter
      Src: /src/td-shim/library/ring/src/bb/mod.rs:61,1
    - Dst: Self::IntoIter::for_each
      Src: /src/td-shim/library/ring/src/bb/mod.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - impl IntoIterator<Item = &'a mut u8>
    - u8
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: xor_assign
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 1
    functionsReached:
    - Self::IntoIter::for_each
    - into_iter
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn xor_assign<''a>(a: impl IntoIterator<Item = &''a mut
      u8>, b: u8)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_iter
      Src: /src/td-shim/library/ring/src/bb/mod.rs:71,1
    - Dst: Self::IntoIter::zip
      Src: /src/td-shim/library/ring/src/bb/mod.rs:71,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/bb/mod.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - impl IntoIterator<Item = &'a mut u8>
    - impl IntoIterator<Item = &'a u8>
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: xor_assign_at_start
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 2
    functionsReached:
    - for_each
    - into_iter
    - Self::IntoIter::zip
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn xor_assign_at_start<''a>(a: impl IntoIterator<Item =
      &''a mut u8>,b: impl IntoIterator<Item = &''a u8>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::from
      Src: /src/td-shim/library/ring/src/bb/mod.rs:88,1
    - Dst: bssl_constant_time_test_main
      Src: /src/td-shim/library/ring/src/bb/mod.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: tests::test_constant_time
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - bssl_constant_time_test_main
    - Result::from
    linkageType: ''
    returnType: Result
    signature: fn test_constant_time() -> Result<(), error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/src/bb/mod.rs:93,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/td-shim/library/ring/src/bb/mod.rs:95,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/bb/mod.rs:95,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/td-shim/library/ring/src/bb/mod.rs:96,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/bb/mod.rs:96,1
    - Dst: rand::generate::<[u8; 1]>
      Src: /src/td-shim/library/ring/src/bb/mod.rs:99,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/bb/mod.rs:99,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/bb/mod.rs:104,1
    - Dst: bssl_constant_time_test_conditional_memcpy
      Src: /src/td-shim/library/ring/src/bb/mod.rs:108,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bb/mod.rs:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: tests::constant_time_conditional_memcpy
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - rand::generate::<[u8; 1]>
    - rand::generate::<[u8; 256]>
    - rand::SystemRandom::new
    - prefixed_extern
    - expose
    - Ok
    - bssl_constant_time_test_conditional_memcpy
    linkageType: ''
    returnType: Result
    signature: fn constant_time_conditional_memcpy() -> Result<(), error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/src/bb/mod.rs:123,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/td-shim/library/ring/src/bb/mod.rs:125,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/bb/mod.rs:125,1
    - Dst: rand::generate::<[u8; 256]>
      Src: /src/td-shim/library/ring/src/bb/mod.rs:126,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/bb/mod.rs:126,1
    - Dst: rand::generate::<[u8; 1]>
      Src: /src/td-shim/library/ring/src/bb/mod.rs:129,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/bb/mod.rs:129,1
    - Dst: xor_assign_at_start
      Src: /src/td-shim/library/ring/src/bb/mod.rs:134,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/bb/mod.rs:137,1
    - Dst: bssl_constant_time_test_conditional_memxor
      Src: /src/td-shim/library/ring/src/bb/mod.rs:141,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/bb/mod.rs:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 153
    functionName: tests::constant_time_conditional_memxor
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached:
    - xor_assign_at_start
    - rand::generate::<[u8; 1]>
    - bssl_constant_time_test_conditional_memxor
    - rand::generate::<[u8; 256]>
    - rand::SystemRandom::new
    - expose
    - prefixed_extern
    - Ok
    linkageType: ''
    returnType: Result
    signature: fn constant_time_conditional_memxor() -> Result<(), error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: tests::test_bool_mask_bitwise_and_is_logical_and
    functionSourceFile: /src/td-shim/library/ring/src/bb/mod.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn test_bool_mask_bitwise_and_is_logical_and()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: BoolMask::leak
    functionSourceFile: /src/td-shim/library/ring/src/bb/boolmask.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub(crate) fn leak(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/bb/boolmask.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: BoolMask::bitand
    functionSourceFile: /src/td-shim/library/ring/src/bb/boolmask.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn bitand(self, rhs: Self) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - W32
    - W32
    - W32
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: parity
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha1.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: W32
    signature: 'fn parity(x: W32, y: W32, z: W32) -> W32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:61,1
    - Dst: sha1::sha1_block_data_order
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:62,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:63,1
    - Dst: '&[T]::len'
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - state
    - data
    - _cpu_features
    argTypes:
    - '&mut DynState'
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: sha1_block_data_order
    functionSourceFile: /src/td-shim/library/ring/src/digest/dynstate.rs
    functionUses: 1
    functionsReached:
    - sha1::sha1_block_data_order
    - slice::as_chunks
    - as_flattened
    - '&[T]::len'
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'pub(super) fn sha1_block_data_order<''d>(state: &mut DynState,data:
      &''d [u8],_cpu_features: cpu::Features,) -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:39,1
    - Dst: S::zero_w
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:46,1
    - Dst: AsChunksMut::as_mut
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:47,1
    - Dst: AsChunksMut::iter_mut
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:48,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:48,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:48,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:49,1
    - Dst: S::from_be_bytes
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:50,1
    - Dst: sigma_1
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:53,1
    - Dst: sigma_0
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:53,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: AsChunksMut::iter
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:60,1
    - Dst: SIGMA_1
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:61,1
    - Dst: ch
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:61,1
    - Dst: SIGMA_0
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:62,1
    - Dst: maj
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 95
    argCount: 2
    argNames:
    - H
    - M
    argTypes:
    - '[S; CHAINING_WORDS]'
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 85
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 85
    functionName: block_data_order
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 3
    functionsReached:
    - slice::as_chunks
    - as_ref
    - SIGMA_1
    - AsChunksMut::as_mut
    - sigma_1
    - sigma_0
    - ch
    - into
    - zip
    - S::zero_w
    - iter
    - for_each
    - AsChunksMut::iter
    - SIGMA_0
    - AsChunksMut::iter_mut
    - maj
    - S::from_be_bytes
    linkageType: ''
    returnType: '[S; CHAINING_WORDS]'
    signature: 'pub(super) fn block_data_order<S: Sha2, const BLOCK_LEN: usize, const
      BYTES_LEN: usize>(mut H: [S; CHAINING_WORDS],M: AsChunks<u8, BLOCK_LEN>,) ->
      [S; CHAINING_WORDS]wherefor<''a> &''a S::InputBytes: From<&''a [u8; BYTES_LEN]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[W32; 80]::iter'
      Src: /src/td-shim/library/ring/src/digest/sha1.rs:105,1
    - Dst: rotl
      Src: /src/td-shim/library/ring/src/digest/sha1.rs:106,1
    - Dst: rotl
      Src: /src/td-shim/library/ring/src/digest/sha1.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 9
    argNames:
    - a
    - b
    - c
    - d
    - e
    - W
    - t
    - k
    - f
    argTypes:
    - W32
    - W32
    - W32
    - W32
    - W32
    - '&[W32; 80]'
    - usize
    - W32
    - impl Fn(W32, W32, W32) -> W32
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: step3
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha1.rs
    functionUses: 0
    functionsReached:
    - rotl
    - '&[W32; 80]::iter'
    linkageType: ''
    returnType: (W32, W32, W32, W32, W32)
    signature: 'fn step3(mut a: W32,mut b: W32,mut c: W32,mut d: W32,mut e: W32,W:
      &[W32; 80],t: usize,k: W32,f: impl Fn(W32, W32, W32) -> W32,) -> (W32, W32,
      W32, W32, W32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::num::Wrapping
      Src: /src/td-shim/library/ring/src/digest/sha1.rs:118,1
    - Dst: rotate_left
      Src: /src/td-shim/library/ring/src/digest/sha1.rs:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - W32
    - u32
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: rotl
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha1.rs
    functionUses: 1
    functionsReached:
    - rotate_left
    - core::num::Wrapping
    linkageType: ''
    returnType: W32
    signature: 'fn rotl(x: W32, n: u32) -> W32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::As32
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - initial_state
    argTypes:
    - sha2::State32
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: DynState::new32
    functionSourceFile: /src/td-shim/library/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - Self::As32
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new32(initial_state: sha2::State32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::As64
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - initial_state
    argTypes:
    - sha2::State64
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: DynState::new64
    functionSourceFile: /src/td-shim/library/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - Self::As64
    linkageType: ''
    returnType: Self
    signature: 'pub const fn new64(initial_state: sha2::State64) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_of::<u64>
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:40,1
    - Dst: format_output::<_, _, { size_of::<u64>() }>
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:40,1
    - Dst: size_of::<u32>
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:43,1
    - Dst: format_output::<_, _, { size_of::<u32>() }>
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: DynState::format_output
    functionSourceFile: /src/td-shim/library/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - format_output::<_, _, { size_of::<u64>() }>
    - size_of::<u32>
    - size_of::<u64>
    - format_output::<_, _, { size_of::<u32>() }>
    linkageType: ''
    returnType: Output
    signature: pub fn format_output(self) -> Output
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:78,1
    - Dst: sha2::block_data_order_32
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:79,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:80,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - state
    - data
    - cpu_features
    argTypes:
    - '&mut DynState'
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: sha256_block_data_order
    functionSourceFile: /src/td-shim/library/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - sha2::block_data_order_32
    - slice::as_chunks
    - into
    - len
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'pub(super) fn sha256_block_data_order<''d>(state: &mut DynState,data:
      &''d [u8],cpu_features: cpu::Features,) -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:95,1
    - Dst: sha2::block_data_order_64
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:96,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:97,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/digest/dynstate.rs:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - state
    - data
    - cpu_features
    argTypes:
    - '&mut DynState'
    - '&''d [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: sha512_block_data_order
    functionSourceFile: /src/td-shim/library/ring/src/digest/dynstate.rs
    functionUses: 0
    functionsReached:
    - len
    - sha2::block_data_order_64
    - slice::as_chunks
    - into
    linkageType: ''
    returnType: (usize, &'d [u8])
    signature: 'pub(super) fn sha512_block_data_order<''d>(state: &mut DynState,data:
      &''d [u8],cpu_features: cpu::Features,) -> (usize, &''d [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: ch
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: 'pub(in super::super) fn ch<W: Word>(x: W, y: W, z: W) -> W'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - W
    - W
    - W
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: maj
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: W
    signature: 'pub(in super::super) fn maj<W: Word>(x: W, y: W, z: W) -> W'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:102,1
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:102,1
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: SIGMA_0
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn SIGMA_0<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:108,1
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:108,1
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: SIGMA_1
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn SIGMA_1<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:114,1
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: sigma_0
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn sigma_0<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:120,1
    - Dst: Result::rotr
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - S
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: sigma_1
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 1
    functionsReached:
    - Result::rotr
    linkageType: ''
    returnType: S
    signature: 'fn sigma_1<S: Sha2>(x: S) -> S'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:264,1
    - Dst: u64::from_be_bytes
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - Self::InputBytes
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: Wrapping::from_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 0
    functionsReached:
    - u64::from_be_bytes
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from_be_bytes(input: Self::InputBytes) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:269,1
    - Dst: rotate_right
      Src: /src/td-shim/library/ring/src/digest/sha2/fallback.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - count
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: Wrapping::rotr
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 0
    functionsReached:
    - rotate_right
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn rotr(self, count: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: Wrapping::zero_w
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self::W
    signature: fn zero_w() -> Self::W
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - cpu
    argTypes:
    - '&mut State32'
    - AsChunks<u8, { SHA256_BLOCK_LEN.into() }>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: block_data_order_32
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/sha2_32.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn block_data_order_32(state: &mut State32,data: AsChunks<u8,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/digest/sha2/ffi.rs:61,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/digest/sha2/ffi.rs:61,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/digest/sha2/ffi.rs:62,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/digest/sha2/ffi.rs:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - state
    - data
    - cpu
    - f
    argTypes:
    - '&mut [Wrapping<U>; CHAINING_WORDS]'
    - AsChunks<u8, BLOCK_LEN>
    - Cpu
    - "unsafe extern \"C\" fn(\n        *mut [Wrapping<U>; CHAINING_WORDS],\n    \
      \    *const [u8; BLOCK_LEN],\n        crate::c::NonZero_size_t,\n    )"
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: sha2_ffi
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/ffi.rs
    functionUses: 0
    functionsReached:
    - len
    - NonZeroUsize::new
    - as_ptr
    - f
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn sha2_ffi<U, Cpu, const BLOCK_LEN: usize>(state:
      &mut [Wrapping<U>; CHAINING_WORDS],data: AsChunks<u8, BLOCK_LEN>,cpu: Cpu,f:
      unsafe extern "C" fn(*mut [Wrapping<U>; CHAINING_WORDS],*const [u8; BLOCK_LEN],crate::c::NonZero_size_t,),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: sha2_32_ffi
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: sha2_64_ffi
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - state
    - data
    - cpu
    argTypes:
    - '&mut State64'
    - AsChunks<u8, { SHA512_BLOCK_LEN.into() }>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 60
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 60
    functionName: block_data_order_64
    functionSourceFile: /src/td-shim/library/ring/src/digest/sha2/sha2_64.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(crate) fn block_data_order_64(state: &mut State64,data: AsChunks<u8,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:41,1
    - Dst: LessSafeKey::new_
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:42,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - algorithm
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 7
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: UnboundKey::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/unbound_key.rs
    functionUses: 4
    functionsReached:
    - cpu::features
    - Ok
    - LessSafeKey::new_
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm,key_bytes: &[u8],) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: UnboundKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: UnboundKey::into_inner
    functionSourceFile: /src/td-shim/library/ring/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LessSafeKey
    signature: pub(super) fn into_inner(self) -> LessSafeKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt_debug
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: UnboundKey::fmt
    functionSourceFile: /src/td-shim/library/ring/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:67,1
    - Dst: usize::key_len
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:67,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:68,1
    - Dst: Result::fill
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:69,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:69,1
    - Dst: LessSafeKey::new_
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:71,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:71,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/unbound_key.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<&'static Algorithm>
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 7
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: UnboundKey::from
    functionSourceFile: /src/td-shim/library/ring/src/aead/unbound_key.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - usize::key_len
    - cpu::features
    - Result::len
    - LessSafeKey::new_
    - Result::fill
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<&''static Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead/nonce.rs:32,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/nonce.rs:33,1
    - Dst: Self::assume_unique_for_key
      Src: /src/td-shim/library/ring/src/aead/nonce.rs:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: Nonce::try_assume_unique_for_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/nonce.rs
    functionUses: 2
    functionsReached:
    - Self::assume_unique_for_key
    - try_into
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn try_assume_unique_for_key(value: &[u8]) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead/nonce.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '[u8; NONCE_LEN]'
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: Nonce::assume_unique_for_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/nonce.rs
    functionUses: 5
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn assume_unique_for_key(value: [u8; NONCE_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: Nonce::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/aead/nonce.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8; NONCE_LEN]'
    signature: fn as_ref(&self) -> &[u8; NONCE_LEN]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Counter::zero_one_less_safe
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:64,1
    - Dst: Key::encrypt
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:65,1
    - Dst: '&mut [u8; N]::as_mut'
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:65,1
    - Dst: AsChunksMut::into
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - nonce
    - in_out
    - cpu
    argTypes:
    - Nonce
    - '&mut [u8; N]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: Key::encrypt_single_block_with_ctr_0
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - '&mut [u8; N]::as_mut'
    - Counter::zero_one_less_safe
    - Key::encrypt
    - AsChunksMut::into
    linkageType: ''
    returnType: Counter
    signature: 'pub(super) fn encrypt_single_block_with_ctr_0<const N: usize>(&self,nonce:
      Nonce,in_out: &mut [u8; N],cpu: cpu::Features,) -> Counter'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Key::encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes.rs:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sample
    argTypes:
    - Sample
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: Key::new_mask
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Key::encrypt_block
    linkageType: ''
    returnType: '[u8; 5]'
    signature: 'pub fn new_mask(&self, sample: Sample) -> [u8; 5]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 3
    argNames:
    - counter
    - in_out
    - cpu
    argTypes:
    - Counter
    - Overlapping<'_>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 154
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 154
    functionName: Key::encrypt
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn encrypt(&self, counter: Counter, in_out: Overlapping<''_>,
      cpu: cpu::Features)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: Key::words_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u32; KEY_LEN / 4]'
    signature: pub(super) fn words_less_safe(&self) -> &[u32; KEY_LEN / 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_nonce_and_ctr
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:170,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: Counter::zero_one_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 1
    functionsReached:
    - Self
    - Self::from_nonce_and_ctr
    linkageType: ''
    returnType: (Self, Self)
    signature: 'fn zero_one_less_safe(nonce: Nonce) -> (Self, Self)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:176,1
    - Dst: '&[u8; NONCE_LEN]::array_split_map'
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:176,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - nonce
    - ctr
    argTypes:
    - Nonce
    - u32
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: Counter::from_nonce_and_ctr
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - '&[u8; NONCE_LEN]::array_split_map'
    - Self
    - Nonce::as_ref
    linkageType: ''
    returnType: Self
    signature: 'fn from_nonce_and_ctr(nonce: Nonce, ctr: u32) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: Counter::into_words_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u32; 4]'
    signature: fn into_words_less_safe(self) -> [u32; 4]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_test
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: tests::chacha20_test_default
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - chacha20_test
    linkageType: ''
    returnType: void
    signature: fn chacha20_test_default()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_test
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:235,1
    - Dst: fallback::ChaCha20_ctr32
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: tests::chacha20_test_fallback
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - chacha20_test
    - fallback::ChaCha20_ctr32
    linkageType: ''
    returnType: void
    signature: fn chacha20_test_fallback()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:251,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:256,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:257,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:261,1
    - Dst: Result::as_slice
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:262,1
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:262,1
    - Dst: Key::new
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:263,1
    - Dst: Option::consume_usize
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:265,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:266,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:267,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:268,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:273,1
    - Dst: chacha20_test_case_inner
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:275,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 2
    argNames:
    - max_alignment_and_offset
    - f
    argTypes:
    - (usize, usize)
    - impl for<'k, 'o> Fn(&'k Key, Counter, Overlapping<'o>, cpu::Features)
    constantsTouched: []
    func_position:
      end: 291
      start: 247
    functionDepth: 7
    functionLinenumber: 247
    functionLinenumberEnd: 291
    functionName: tests::chacha20_test
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::len
    - test::run
    - Option::consume_bytes
    - chacha20_test_case_inner
    - '&[u8]::try_into'
    - Result::as_slice
    - cpu::features
    - Option::consume_usize
    - Ok
    - Key::new
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: 'fn chacha20_test(max_alignment_and_offset: (usize, usize),f: impl
      for<''k, ''o> Fn(&''k Key, Counter, Overlapping<''o>, cpu::Features),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fill
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:307,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:310,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:311,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:313,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:313,1
    - Dst: Counter::from_nonce_and_ctr
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:315,1
    - Dst: Nonce::try_assume_unique_for_key
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:316,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:316,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:319,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:319,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:319,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/chacha.rs:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 9
    argNames:
    - key
    - nonce
    - ctr
    - input
    - expected
    - buf
    - cpu
    - f
    argTypes:
    - '&Key'
    - '&[u8]'
    - u32
    - '&[u8]'
    - '&[u8]'
    - '&mut [u8]'
    - (usize, usize)
    - cpu::Features
    - '&impl for<''k, ''o> Fn(&''k Key, Counter, Overlapping<''o>, cpu::Features)'
    constantsTouched: []
    func_position:
      end: 326
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 326
    functionName: tests::chacha20_test_case_inner
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::len
    - Counter::from_nonce_and_ctr
    - copy_from_slice
    - clone
    - Result::unwrap
    - Result::map_err
    - Overlapping::new
    - f
    - unwrap
    - fill
    - Nonce::try_assume_unique_for_key
    linkageType: ''
    returnType: void
    signature: 'fn chacha20_test_case_inner(key: &Key,nonce: &[u8],ctr: u32,input:
      &[u8],expected: &[u8],buf: &mut [u8],(max_alignment, max_offset): (usize, usize),cpu:
      cpu::Features,f: &impl for<''k, ''o> Fn(&''k Key, Counter, Overlapping<''o>,
      cpu::Features),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/aead/quic.rs:39,1
    - Dst: key_len
      Src: /src/td-shim/library/ring/src/aead/quic.rs:40,1
    - Dst: Result::fill
      Src: /src/td-shim/library/ring/src/aead/quic.rs:41,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/quic.rs:41,1
    - Dst: Self::new
      Src: /src/td-shim/library/ring/src/aead/quic.rs:42,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/quic.rs:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - okm
    argTypes:
    - hkdf::Okm<&'static Algorithm>
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: HeaderProtectionKey::from
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - Result::len
    - key_len
    - Result::fill
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'fn from(okm: hkdf::Okm<&''static Algorithm>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/quic.rs:54,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/quic.rs:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - algorithm
    - key_bytes
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 7
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: HeaderProtectionKey::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 2
    functionsReached:
    - cpu::features
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(algorithm: &''static Algorithm,key_bytes: &[u8],) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <&[u8; SAMPLE_LEN]>::try_from
      Src: /src/td-shim/library/ring/src/aead/quic.rs:64,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/quic.rs:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sample
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: HeaderProtectionKey::new_mask
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - <&[u8; SAMPLE_LEN]>::try_from
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn new_mask(&self, sample: &[u8]) -> Result<[u8; 5], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: HeaderProtectionKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static Algorithm::key_len'
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 2
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: '&''static Algorithm::len'
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - '&''static Algorithm::key_len'
    linkageType: ''
    returnType: usize
    signature: fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Algorithm::key_len
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn key_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: Algorithm::sample_len
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn sample_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/quic.rs:147,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/aead/quic.rs:147,1
    - Dst: aes::Key::new
      Src: /src/td-shim/library/ring/src/aead/quic.rs:148,1
    - Dst: aes::KeyBytes::AES_128
      Src: /src/td-shim/library/ring/src/aead/quic.rs:148,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/quic.rs:149,1
    - Dst: KeyInner::Aes
      Src: /src/td-shim/library/ring/src/aead/quic.rs:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: aes_init_128
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - map_err
    - aes::KeyBytes::AES_128
    - KeyInner::Aes
    - Ok
    - Result::try_into
    - aes::Key::new
    linkageType: ''
    returnType: Result
    signature: 'fn aes_init_128(key: &[u8], cpu_features: cpu::Features) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/quic.rs:153,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/aead/quic.rs:153,1
    - Dst: aes::Key::new
      Src: /src/td-shim/library/ring/src/aead/quic.rs:154,1
    - Dst: aes::KeyBytes::AES_256
      Src: /src/td-shim/library/ring/src/aead/quic.rs:154,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/quic.rs:155,1
    - Dst: KeyInner::Aes
      Src: /src/td-shim/library/ring/src/aead/quic.rs:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: aes_init_256
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - map_err
    - KeyInner::Aes
    - aes::KeyBytes::AES_256
    - Ok
    - Result::try_into
    - aes::Key::new
    linkageType: ''
    returnType: Result
    signature: 'fn aes_init_256(key: &[u8], cpu_features: cpu::Features) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_mask
      Src: /src/td-shim/library/ring/src/aead/quic.rs:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - sample
    argTypes:
    - '&KeyInner'
    - Sample
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: aes_new_mask
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - new_mask
    linkageType: ''
    returnType: '[u8; 5]'
    signature: 'fn aes_new_mask(key: &KeyInner, sample: Sample) -> [u8; 5]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/quic.rs:176,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/quic.rs:177,1
    - Dst: KeyInner::ChaCha20
      Src: /src/td-shim/library/ring/src/aead/quic.rs:177,1
    - Dst: chacha::Key::new
      Src: /src/td-shim/library/ring/src/aead/quic.rs:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - _cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: chacha20_init
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - chacha::Key::new
    - KeyInner::ChaCha20
    - Ok
    - Result::try_into
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_init(key: &[u8], _cpu_features: cpu::Features) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_mask
      Src: /src/td-shim/library/ring/src/aead/quic.rs:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - sample
    argTypes:
    - '&KeyInner'
    - Sample
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: chacha20_new_mask
    functionSourceFile: /src/td-shim/library/ring/src/aead/quic.rs
    functionUses: 0
    functionsReached:
    - new_mask
    linkageType: ''
    returnType: '[u8; 5]'
    signature: 'fn chacha20_new_mask(key: &KeyInner, sample: Sample) -> [u8; 5]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:50,1
    - Dst: ffi_arm_neon::State::new_context
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:51,1
    - Dst: ffi_fallback::State::new_context
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - Key
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: Context::from_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - Result::get_feature
    - ffi_arm_neon::State::new_context
    - ffi_fallback::State::new_context
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn from_key(key: Key, cpu: cpu::Features) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_block
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: Context::update_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - update_block
    linkageType: ''
    returnType: void
    signature: 'pub fn update_block(&mut self, a: Block)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_internal
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:68,1
    - Dst: update_internal
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Context::update_internal
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305.rs
    functionUses: 2
    functionsReached:
    - update_internal
    linkageType: ''
    returnType: void
    signature: 'fn update_internal(&mut self, input: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:100,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:101,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:102,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:105,1
    - Dst: Result::as_slice
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:106,1
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:106,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:106,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:107,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:108,1
    - Dst: Key::new
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:109,1
    - Dst: sign
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:110,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/poly1305.rs:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 7
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: tests::test_poly1305
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - '&[u8]::try_into'
    - unwrap
    - Result::as_slice
    - cpu::features
    - Ok
    - Key::new
    - test_vector_file
    - sign
    linkageType: ''
    returnType: void
    signature: pub fn test_poly1305()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: Algorithm::tag_len
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn tag_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: Algorithm::nonce_len
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub fn nonce_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key_bytes
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: Algorithm::new_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new_key(&self,key_bytes: &[u8],cpu_features: cpu::Features,)
      -> Result<KeyInner, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''io mut [u8]::get'
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:99,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:99,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:99,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:99,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:103,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:103,1
    - Dst: Tag::as_ref
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:103,1
    - Dst: is_err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:103,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:111,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 7
    argNames:
    - key
    - nonce
    - aad
    - received_tag
    - in_out
    - src
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - Tag
    - '&''io mut [u8]'
    - RangeFrom<usize>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 116
      start: 89
    functionDepth: 10
    functionLinenumber: 89
    functionLinenumberEnd: 116
    functionName: Algorithm::open_within
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - len
    - as_ref
    - '&''io mut [u8]::get'
    - bb::verify_slices_are_equal
    - RangeFrom<usize>::clone
    - Ok
    - ok_or
    - Err
    - is_err
    - Tag::as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn open_within<''io>(&self,key: &KeyInner,nonce: Nonce,aad:
      Aad<&[u8]>,received_tag: Tag,in_out: &''io mut [u8],src: RangeFrom<usize>,cpu_features:
      cpu::Features,) -> Result<&''io mut [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: Algorithm::seal
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn seal(&self,key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],cpu_features: cpu::Features,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:170,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:170,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:171,1
    - Dst: KeyInner::AesGcm
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:171,1
    - Dst: aes_gcm::Key::new
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:171,1
    - Dst: aes::KeyBytes::AES_128
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: aes_gcm_init_128
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - map_err
    - KeyInner::AesGcm
    - aes::KeyBytes::AES_128
    - aes_gcm::Key::new
    - Ok
    - Result::try_into
    linkageType: ''
    returnType: Result
    signature: 'fn aes_gcm_init_128(key: &[u8],cpu_features: cpu::Features,) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:181,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:181,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:182,1
    - Dst: KeyInner::AesGcm
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:182,1
    - Dst: aes_gcm::Key::new
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:182,1
    - Dst: aes::KeyBytes::AES_256
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - key
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: aes_gcm_init_256
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - map_err
    - KeyInner::AesGcm
    - aes_gcm::Key::new
    - aes::KeyBytes::AES_256
    - Ok
    - Result::try_into
    linkageType: ''
    returnType: Result
    signature: 'fn aes_gcm_init_256(key: &[u8],cpu_features: cpu::Features,) -> Result<KeyInner,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm::seal
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - _cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: aes_gcm_seal
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - aes_gcm::seal
    linkageType: ''
    returnType: Result
    signature: 'fn aes_gcm_seal(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],_cpu_features: cpu::Features,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes_gcm::open
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 6
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - src
    - _cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 5
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: aes_gcm_open
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - aes_gcm::open
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn aes_gcm_open(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],src: RangeFrom<usize>,_cpu_features: cpu::Features,) -> Result<Tag,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:235,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:236,1
    - Dst: KeyInner::ChaCha20Poly1305
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:236,1
    - Dst: chacha20_poly1305::Key::new
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - _cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: chacha20_poly1305_init
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - KeyInner::ChaCha20Poly1305
    - Ok
    - Result::try_into
    - chacha20_poly1305::Key::new
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_poly1305_init(key: &[u8],_cpu_features: cpu::Features,)
      -> Result<KeyInner, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chacha20_poly1305::seal
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:250,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 252
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 252
    functionName: chacha20_poly1305_seal
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - chacha20_poly1305::seal
    - Result::map_err
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_poly1305_seal(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],cpu_features: cpu::Features,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:266,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:266,1
    - Dst: chacha20_poly1305::open
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:267,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/algorithm.rs:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - key
    - nonce
    - aad
    - in_out
    - src
    - cpu_features
    argTypes:
    - '&KeyInner'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 269
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 269
    functionName: chacha20_poly1305_open
    functionSourceFile: /src/td-shim/library/ring/src/aead/algorithm.rs
    functionUses: 0
    functionsReached:
    - Result::map_err
    - Overlapping::new
    - chacha20_poly1305::open
    linkageType: ''
    returnType: Result
    signature: 'fn chacha20_poly1305_open(key: &KeyInner,nonce: Nonce,aad: Aad<&[u8]>,in_out:
      &mut [u8],src: RangeFrom<usize>,cpu_features: cpu::Features,) -> Result<Tag,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into_inner
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - nonce_sequence
    argTypes:
    - UnboundKey
    - N
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: SealingKey::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/sealing_key.rs
    functionUses: 1
    functionsReached:
    - Result::into_inner
    linkageType: ''
    returnType: Self
    signature: 'fn new(key: UnboundKey, nonce_sequence: N) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::split_first_chunk_mut
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:78,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:78,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:80,1
    - Dst: chacha20_poly1305::begin
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:82,1
    - Dst: make_nonce
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:84,1
    - Dst: Aad::from
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:85,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:82,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:82,1
    - Dst: encrypt_single_block_with_ctr_0
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:92,1
    - Dst: make_nonce
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:93,1
    - Dst: encrypt
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:97,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:99,1
    - Dst: poly1305::sign
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 3
    argNames:
    - sequence_number
    - plaintext_in_ciphertext_out
    - tag_out
    argTypes:
    - u32
    - '&mut [u8]'
    - '&mut [u8; TAG_LEN]'
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: SealingKey::seal_in_place
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - chacha20_poly1305::begin
    - make_nonce
    - Result::map_err
    - Option::unwrap
    - encrypt
    - into
    - unwrap
    - cpu::features
    - slice::split_first_chunk_mut
    - Aad::from
    - encrypt_single_block_with_ctr_0
    - poly1305::sign
    linkageType: ''
    returnType: void
    signature: 'pub fn seal_in_place(&self,sequence_number: u32,plaintext_in_ciphertext_out:
      &mut [u8],tag_out: &mut [u8; TAG_LEN],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into_inner
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - nonce_sequence
    argTypes:
    - UnboundKey
    - N
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: OpeningKey::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/opening_key.rs
    functionUses: 1
    functionsReached:
    - Result::into_inner
    linkageType: ''
    returnType: Self
    signature: 'fn new(key: UnboundKey, nonce_sequence: N) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:128,1
    - Dst: encrypt_single_block_with_ctr_0
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:130,1
    - Dst: make_nonce
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - sequence_number
    - encrypted_packet_length
    argTypes:
    - u32
    - '[u8; PACKET_LENGTH_LEN]'
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 7
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: OpeningKey::decrypt_packet_length
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - encrypt_single_block_with_ctr_0
    - make_nonce
    linkageType: ''
    returnType: '[u8; PACKET_LENGTH_LEN]'
    signature: 'pub fn decrypt_packet_length(&self,sequence_number: u32,encrypted_packet_length:
      [u8; PACKET_LENGTH_LEN],) -> [u8; PACKET_LENGTH_LEN]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_in_place
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:79,1
    - Dst: advance
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: OpeningKey::open_in_place
    functionSourceFile: /src/td-shim/library/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - advance
    - open_in_place
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<''in_out, A>(&mut self,aad: Aad<A>,in_out: &''in_out
      mut [u8],) -> Result<&''in_out mut [u8], error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::to_be_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:200,1
    - Dst: Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sequence_number
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: make_nonce
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs
    functionUses: 2
    functionsReached:
    - u32::to_be_bytes
    - Nonce::assume_unique_for_key
    linkageType: ''
    returnType: Nonce
    signature: 'fn make_nonce(sequence_number: u32) -> Nonce'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: SealingKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt_debug
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: SealingKey::fmt
    functionSourceFile: /src/td-shim/library/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_append_tag
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:77,1
    - Dst: advance
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 10
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: SealingKey::seal_in_place_append_tag
    functionSourceFile: /src/td-shim/library/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - advance
    - seal_in_place_append_tag
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<A, InOut>(&mut self,aad: Aad<A>,in_out:
      &mut InOut,) -> Result<(), error::Unspecified>whereA: AsRef<[u8]>,InOut: AsMut<[u8]>
      + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:101,1
    - Dst: advance
      Src: /src/td-shim/library/ring/src/aead/sealing_key.rs:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - aad
    - in_out
    argTypes:
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: SealingKey::seal_in_place_separate_tag
    functionSourceFile: /src/td-shim/library/ring/src/aead/sealing_key.rs
    functionUses: 0
    functionsReached:
    - advance
    - seal_in_place_separate_tag
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(&mut self,aad: Aad<A>,in_out:
      &mut [u8],) -> Result<Tag, error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes/vp.rs:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - block
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: Key::encrypt_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/vp.rs
    functionUses: 1
    functionsReached:
    - encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_block(&self, block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/aes.rs:141,1
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/aead/aes.rs:141,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead/aes.rs:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - nonce
    argTypes:
    - Nonce
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: Counter::one
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Self
    - Nonce::as_ref
    - copy_from_slice
    linkageType: ''
    returnType: Self
    signature: 'pub fn one(nonce: Nonce) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Iv
      Src: /src/td-shim/library/ring/src/aead/aes.rs:149,1
    - Dst: Counter::increment_by_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes.rs:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: Counter::increment
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Iv
    - Counter::increment_by_less_safe
    linkageType: ''
    returnType: Iv
    signature: pub fn increment(&mut self) -> Iv
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::from_be_bytes
      Src: /src/td-shim/library/ring/src/aead/aes.rs:156,1
    - Dst: Result::wrapping_add
      Src: /src/td-shim/library/ring/src/aead/aes.rs:157,1
    - Dst: NonZeroU32::get
      Src: /src/td-shim/library/ring/src/aead/aes.rs:157,1
    - Dst: u32::to_be_bytes
      Src: /src/td-shim/library/ring/src/aead/aes.rs:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - increment_by
    argTypes:
    - NonZeroU32
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 9
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: Counter::increment_by_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 1
    functionsReached:
    - Result::wrapping_add
    - u32::from_be_bytes
    - u32::to_be_bytes
    - NonZeroU32::get
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn increment_by_less_safe(&mut self, increment_by: NonZeroU32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead/aes.rs:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - counter
    argTypes:
    - Counter
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: Iv::from
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(counter: Counter) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::encrypt_iv_xor_block
      Src: /src/td-shim/library/ring/src/aead/aes.rs:188,1
    - Dst: Iv
      Src: /src/td-shim/library/ring/src/aead/aes.rs:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - block
    argTypes:
    - '&impl EncryptBlock'
    - Block
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: encrypt_block_using_encrypt_iv_xor_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Iv
    - Result::encrypt_iv_xor_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_block_using_encrypt_iv_xor_block(key: &impl EncryptBlock,
      block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes.rs:196,1
    - Dst: bb::xor_16
      Src: /src/td-shim/library/ring/src/aead/aes.rs:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - iv
    - block
    argTypes:
    - '&impl EncryptBlock'
    - Iv
    - Block
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: encrypt_iv_xor_block_using_encrypt_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - bb::xor_16
    - Result::encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_iv_xor_block_using_encrypt_block(key: &impl EncryptBlock,iv:
      Iv,block: Block,) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ffi::Counter
      Src: /src/td-shim/library/ring/src/aead/aes.rs:202,1
    - Dst: Result::ctr32_encrypt_within
      Src: /src/td-shim/library/ring/src/aead/aes.rs:203,1
    - Dst: Result::as_mut
      Src: /src/td-shim/library/ring/src/aead/aes.rs:203,1
    - Dst: AsChunksMut::into
      Src: /src/td-shim/library/ring/src/aead/aes.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - key
    - iv
    - block
    argTypes:
    - '&impl EncryptCtr32'
    - Iv
    - Block
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: encrypt_iv_xor_block_using_ctr32
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Result::as_mut
    - ffi::Counter
    - Result::ctr32_encrypt_within
    - AsChunksMut::into
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_iv_xor_block_using_ctr32(key: &impl EncryptCtr32, iv: Iv,
      mut block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/aead/aes.rs:214,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/aead/aes.rs:214,1
    - Dst: consume_key
      Src: /src/td-shim/library/ring/src/aead/aes.rs:216,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/aes.rs:217,1
    - Dst: untrusted::Input::as_slice
      Src: /src/td-shim/library/ring/src/aead/aes.rs:218,1
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/aead/aes.rs:218,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/aes.rs:219,1
    - Dst: Result::encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes.rs:221,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes.rs:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: tests::test_aes
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - '&[u8]::try_into'
    - Ok
    - untrusted::Input::as_slice
    - test_vector_file
    - consume_key
    - Result::encrypt_block
    linkageType: ''
    returnType: void
    signature: pub fn test_aes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/aead/aes.rs:229,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/aead/aes.rs:231,1
    - Dst: KeyBytes::AES_128
      Src: /src/td-shim/library/ring/src/aead/aes.rs:232,1
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/aes.rs:232,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/aes.rs:232,1
    - Dst: KeyBytes::AES_256
      Src: /src/td-shim/library/ring/src/aead/aes.rs:233,1
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/aead/aes.rs:233,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/aes.rs:233,1
    - Dst: Key::new
      Src: /src/td-shim/library/ring/src/aead/aes.rs:236,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/aes.rs:236,1
    - Dst: Self::unwrap
      Src: /src/td-shim/library/ring/src/aead/aes.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - test_case
    - name
    argTypes:
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 6
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: tests::consume_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Option::consume_bytes
    - Self::unwrap
    - unwrap
    - KeyBytes::AES_256
    - Result::len
    - cpu::features
    - Result::try_into
    - KeyBytes::AES_128
    - Key::new
    linkageType: ''
    returnType: Key
    signature: 'fn consume_key(test_case: &mut test::TestCase, name: &str) -> Key'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aes_gcm_counter_blocks
      Src: /src/td-shim/library/ring/src/aead/aes.rs:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: aes_gcm_tests::test_aes_gcm_counter_blocks_max
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - test_aes_gcm_counter_blocks
    linkageType: ''
    returnType: void
    signature: fn test_aes_gcm_counter_blocks_max()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_aes_gcm_counter_blocks
      Src: /src/td-shim/library/ring/src/aead/aes.rs:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: aes_gcm_tests::test_aes_gcm_counter_blocks_max_minus_one
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - test_aes_gcm_counter_blocks
    linkageType: ''
    returnType: void
    signature: fn test_aes_gcm_counter_blocks_max_minus_one()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead/aes.rs:259,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/aes.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - '&Counter'
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: a::e::s::_::g::c::m::_::t::e::s::t::s::::::::t::e::s::t::_::a::e::s::_::g::c::m::_::c::o::u::n::t::e::r::_::b::l::o::c::k::s::ctr32
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - try_into
    - unwrap
    linkageType: ''
    returnType: '&[u8; 4]'
    signature: 'fn ctr32(ctr: &Counter) -> &[u8; 4]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::try_from
      Src: /src/td-shim/library/ring/src/aead/aes.rs:264,1
    - Dst: Result::ok
      Src: /src/td-shim/library/ring/src/aead/aes.rs:264,1
    - Dst: and_then
      Src: /src/td-shim/library/ring/src/aead/aes.rs:264,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/aes.rs:264,1
    - Dst: Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/src/aead/aes.rs:269,1
    - Dst: Counter::one
      Src: /src/td-shim/library/ring/src/aead/aes.rs:270,1
    - Dst: Self::increment
      Src: /src/td-shim/library/ring/src/aead/aes.rs:272,1
    - Dst: Self::increment_by_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes.rs:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 2
    argNames:
    - in_out_len
    - expected_final_counter
    argTypes:
    - usize
    - '&[u8; 4]'
    constantsTouched: []
    func_position:
      end: 283
      start: 257
    functionDepth: 11
    functionLinenumber: 257
    functionLinenumberEnd: 283
    functionName: aes_gcm_tests::test_aes_gcm_counter_blocks
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes.rs
    functionUses: 0
    functionsReached:
    - Counter::one
    - Result::ok
    - unwrap
    - and_then
    - Self::increment_by_less_safe
    - Nonce::assume_unique_for_key
    - u32::try_from
    - Self::increment
    linkageType: ''
    returnType: void
    signature: 'fn test_aes_gcm_counter_blocks(in_out_len: usize, expected_final_counter:
      &[u8; 4])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::into_inner
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - UnboundKey
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: LessSafeKey::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 2
    functionsReached:
    - Result::into_inner
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(key: UnboundKey) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:41,1
    - Dst: new_key
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - algorithm
    - key_bytes
    - cpu_features
    argTypes:
    - '&''static Algorithm'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: LessSafeKey::new_
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 2
    functionsReached:
    - new_key
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new_(algorithm: &''static Algorithm,key_bytes: &[u8],cpu_features:
      cpu::Features,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Aad::from
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:61,1
    - Dst: Self::as_ref
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:61,1
    - Dst: open_within
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:62,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - nonce
    - aad
    - tag
    - in_out
    - ciphertext
    argTypes:
    - Nonce
    - Aad<A>
    - Tag
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 7
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: LessSafeKey::open_in_place_separate_tag
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - Aad::from
    - open_within
    - Self::as_ref
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place_separate_tag<''in_out, A>(&self,nonce: Nonce,aad:
      Aad<A>,tag: Tag,in_out: &''in_out mut [u8],ciphertext: RangeFrom<usize>,) ->
      Result<&''in_out mut [u8], error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::open_within
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: LessSafeKey::open_in_place
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - LessSafeKey::open_within
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_in_place<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],) -> Result<&''in_out mut [u8], error::Unspecified>whereA:
      AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''in_out mut [u8]::len'
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:105,1
    - Dst: usize::checked_sub
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:105,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:105,1
    - Dst: '&''in_out mut [u8]::split_at_mut'
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:111,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:112,1
    - Dst: LessSafeKey::open_in_place_separate_tag
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - nonce
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Nonce
    - Aad<A>
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 8
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: LessSafeKey::open_within
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 1
    functionsReached:
    - '&''in_out mut [u8]::split_at_mut'
    - try_into
    - LessSafeKey::open_in_place_separate_tag
    - ok_or
    - usize::checked_sub
    - '&''in_out mut [u8]::len'
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_within<''in_out, A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &''in_out mut [u8],ciphertext_and_tag: RangeFrom<usize>,) -> Result<&''in_out
      mut [u8], error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:133,1
    - Dst: '&mut InOut::as_mut'
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:133,1
    - Dst: Result::map
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:133,1
    - Dst: '&mut InOut::extend'
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:134,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut InOut'
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 6
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: LessSafeKey::seal_in_place_append_tag
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - LessSafeKey::seal_in_place_separate_tag
    - Result::map
    - '&mut InOut::extend'
    - Result::as_ref
    - '&mut InOut::as_mut'
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_append_tag<A, InOut>(&self,nonce: Nonce,aad:
      Aad<A>,in_out: &mut InOut,) -> Result<(), error::Unspecified>whereA: AsRef<[u8]>,InOut:
      AsMut<[u8]> + for<''in_out> Extend<&''in_out u8>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: seal
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:151,1
    - Dst: Aad::from
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:154,1
    - Dst: Aad<A>::as_ref
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:154,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - nonce
    - aad
    - in_out
    argTypes:
    - Nonce
    - Aad<A>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 7
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: LessSafeKey::seal_in_place_separate_tag
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 1
    functionsReached:
    - seal
    - Aad<A>::as_ref
    - Aad::from
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn seal_in_place_separate_tag<A>(&self,nonce: Nonce,aad: Aad<A>,in_out:
      &mut [u8],) -> Result<Tag, error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: LessSafeKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: pub fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:171,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:171,1
    - Dst: LessSafeKey::algorithm
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:172,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - type_name
    - f
    argTypes:
    - '&''static str'
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: LessSafeKey::fmt_debug
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    - LessSafeKey::algorithm
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn fmt_debug(&self,type_name: &''static str,f: &mut core::fmt::Formatter,)
      -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LessSafeKey::fmt_debug
      Src: /src/td-shim/library/ring/src/aead/less_safe_key.rs:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: LessSafeKey::fmt
    functionSourceFile: /src/td-shim/library/ring/src/aead/less_safe_key.rs
    functionUses: 0
    functionsReached:
    - LessSafeKey::fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::from_bits
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:100,1
    - Dst: usize_from_u64
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:100,1
    - Dst: as_bits
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: Context::in_out_whole_block_bits
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - BitLength::from_bits
    - as_bits
    - usize_from_u64
    linkageType: ''
    returnType: BitLength
    signature: pub(super) fn in_out_whole_block_bits(&self) -> BitLength<usize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 9
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: Context::inner
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - inner
    linkageType: ''
    returnType: (&HTable, &mut Xi)
    signature: pub(super) fn inner(&mut self) -> (&HTable, &mut Xi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_blocks
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Context::update_blocks
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - update_blocks
    linkageType: ''
    returnType: void
    signature: 'pub fn update_blocks(&mut self, input: AsChunks<u8, BLOCK_LEN>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::split_at_mut
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:149,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:150,1
    - Dst: BitLength::<u64>::to_be_bytes
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:150,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:151,1
    - Dst: BitLength::<u64>::to_be_bytes
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:151,1
    - Dst: Context::update_block
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:152,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/gcm.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: Context::pre_finish
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - f
    - Context::update_block
    - BitLength::<u64>::to_be_bytes
    - Result::split_at_mut
    linkageType: ''
    returnType: super::Tag
    signature: 'pub(super) fn pre_finish<F>(mut self, f: F) -> super::TagwhereF: FnOnce(Block)
      -> super::Tag,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::overlapping::Overlapping<'_, u8>::into_slice_src_mut
      Src: /src/td-shim/library/ring/src/aead/shift.rs:20,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/aead/shift.rs:21,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/aead/shift.rs:21,1
    - Dst: step_by
      Src: /src/td-shim/library/ring/src/aead/shift.rs:23,1
    - Dst: <&[u8; BLOCK_LEN]>::try_from
      Src: /src/td-shim/library/ring/src/aead/shift.rs:26,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/shift.rs:26,1
    - Dst: <&mut [u8; BLOCK_LEN]>::try_from
      Src: /src/td-shim/library/ring/src/aead/shift.rs:29,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/shift.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 2
    argNames:
    - in_out
    - transform
    argTypes:
    - super::overlapping::Overlapping<'_, u8>
    - impl FnMut(&[u8; BLOCK_LEN]) -> [u8; BLOCK_LEN]
    constantsTouched: []
    func_position:
      end: 32
      start: 16
    functionDepth: 2
    functionLinenumber: 16
    functionLinenumberEnd: 32
    functionName: shift_full_blocks
    functionSourceFile: /src/td-shim/library/ring/src/aead/shift.rs
    functionUses: 0
    functionsReached:
    - step_by
    - super::overlapping::Overlapping<'_, u8>::into_slice_src_mut
    - len
    - clone
    - Result::unwrap
    - <&[u8; BLOCK_LEN]>::try_from
    - <&mut [u8; BLOCK_LEN]>::try_from
    linkageType: ''
    returnType: void
    signature: 'pub fn shift_full_blocks<const BLOCK_LEN: usize>(in_out: super::overlapping::Overlapping<''_,
      u8>,mut transform: impl FnMut(&[u8; BLOCK_LEN]) -> [u8; BLOCK_LEN],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: OpeningKey::algorithm
    functionSourceFile: /src/td-shim/library/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - algorithm
    linkageType: ''
    returnType: '&''static Algorithm'
    signature: fn algorithm(&self) -> &'static Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fmt_debug
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: OpeningKey::fmt
    functionSourceFile: /src/td-shim/library/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - fmt_debug
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_within
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:136,1
    - Dst: advance
      Src: /src/td-shim/library/ring/src/aead/opening_key.rs:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - aad
    - in_out
    - ciphertext_and_tag
    argTypes:
    - Aad<A>
    - '&''in_out mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: OpeningKey::open_within
    functionSourceFile: /src/td-shim/library/ring/src/aead/opening_key.rs
    functionUses: 0
    functionsReached:
    - open_within
    - advance
    linkageType: ''
    returnType: Result
    signature: 'pub fn open_within<''in_out, A>(&mut self,aad: Aad<A>,in_out: &''in_out
      mut [u8],ciphertext_and_tag: RangeFrom<usize>,) -> Result<&''in_out mut [u8],
      error::Unspecified>whereA: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::values
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:81,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:84,1
    - Dst: aes::hw::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:86,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:86,1
    - Dst: derive_gcm_key_value
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:87,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:88,1
    - Dst: gcm::vclmulavx2::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:89,1
    - Dst: Self::VAesClMulAvx2
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:90,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:91,1
    - Dst: gcm::clmulavxmovbe::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:92,1
    - Dst: Self::AesHwClMulAvxMovbe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:93,1
    - Dst: gcm::clmul::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:95,1
    - Dst: Self::AesHwClMul
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:96,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:98,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:106,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:106,1
    - Dst: aes::hw::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:107,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:107,1
    - Dst: derive_gcm_key_value
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:108,1
    - Dst: gcm::clmul::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:109,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:110,1
    - Dst: Self::AesHwClMul
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:110,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:117,1
    - Dst: Self::new_neon
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:118,1
    - Dst: Result::get_feature
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:122,1
    - Dst: Self::new_ssse3
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:123,1
    - Dst: Self::new_fallback
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 64
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - aes::KeyBytes
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 128
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 128
    functionName: DynKey::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - Self::AesHwClMulAvxMovbe
    - Result::get_feature
    - Self::VAesClMulAvx2
    - gcm::clmul::Key::new
    - Self::new_neon
    - Self::new_ssse3
    - Result::values
    - aes::hw::Key::new
    - gcm::clmulavxmovbe::Key::new
    - gcm::vclmulavx2::Key::new
    - Self::AesHwClMul
    - Ok
    - derive_gcm_key_value
    - Self::new_fallback
    linkageType: ''
    returnType: Result
    signature: 'fn new(key: aes::KeyBytes, cpu: cpu::Features) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes::vp::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:136,1
    - Dst: derive_gcm_key_value
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:137,1
    - Dst: gcm::neon::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:138,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:139,1
    - Dst: Self::Simd
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - aes::KeyBytes
    - cpu::arm::Neon
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: DynKey::new_neon
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - gcm::neon::Key::new
    - aes::vp::Key::new
    - Ok
    - Self::Simd
    - derive_gcm_key_value
    linkageType: ''
    returnType: Result
    signature: 'fn new_neon(key: aes::KeyBytes, cpu: cpu::arm::Neon) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes::vp::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:148,1
    - Dst: derive_gcm_key_value
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:149,1
    - Dst: gcm::fallback::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:150,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:151,1
    - Dst: Self::Simd
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - cpu
    argTypes:
    - aes::KeyBytes
    - aes::vp::RequiredCpuFeatures
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: DynKey::new_ssse3
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - aes::vp::Key::new
    - Ok
    - Self::Simd
    - gcm::fallback::Key::new
    - derive_gcm_key_value
    linkageType: ''
    returnType: Result
    signature: 'fn new_ssse3(key: aes::KeyBytes,cpu: aes::vp::RequiredCpuFeatures,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aes::fallback::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:164,1
    - Dst: derive_gcm_key_value
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:165,1
    - Dst: gcm::fallback::Key::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:166,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:167,1
    - Dst: Self::Fallback
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key
    argTypes:
    - aes::KeyBytes
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: DynKey::new_fallback
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - Self::Fallback
    - aes::fallback::Key::new
    - Ok
    - gcm::fallback::Key::new
    - derive_gcm_key_value
    linkageType: ''
    returnType: Result
    signature: 'fn new_fallback(key: aes::KeyBytes) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::KeyValue::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:172,1
    - Dst: encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - aes_key
    argTypes:
    - '&impl aes::EncryptBlock'
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: derive_gcm_key_value
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 4
    functionsReached:
    - encrypt_block
    - gcm::KeyValue::new
    linkageType: ''
    returnType: gcm::KeyValue
    signature: 'fn derive_gcm_key_value(aes_key: &impl aes::EncryptBlock) -> gcm::KeyValue'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::Context::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:51,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:51,1
    - Dst: inner
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:52,1
    - Dst: aesni_gcm_encrypt
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:55,1
    - Dst: '&mut [u8]::as_ptr'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:56,1
    - Dst: '&mut [u8]::as_mut_ptr'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:57,1
    - Dst: '&mut [u8]::len'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:58,1
    - Dst: inner_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:59,1
    - Dst: '&mut [u8]::get_mut'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:66,1
    - Dst: slice::as_chunks_mut
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:74,1
    - Dst: ctr32_encrypt_within
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:75,1
    - Dst: as_flattened_mut
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:75,1
    - Dst: '&mut [T]::into'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:75,1
    - Dst: update_blocks
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:76,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:76,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:77,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:77,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:77,1
    - Dst: super::seal_finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 6
    argNames:
    - aes_key
    - gcm_key
    - ctr
    - tag_iv
    - aad
    - in_out
    argTypes:
    - '&aes::hw::Key'
    - '&gcm::clmulavxmovbe::Key'
    - Counter
    - aes::Iv
    - Aad<&[u8]>
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 81
      start: 30
    functionDepth: 9
    functionLinenumber: 30
    functionLinenumberEnd: 81
    functionName: seal
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs
    functionUses: 5
    functionsReached:
    - '&mut [u8]::get_mut'
    - slice::as_chunks_mut
    - update_blocks
    - aesni_gcm_encrypt
    - as_ref
    - '&mut [u8]::as_ptr'
    - Result::unwrap_or_else
    - ctr32_encrypt_within
    - inner
    - gcm::Context::new
    - as_flattened_mut
    - into
    - super::seal_finish
    - '&mut [T]::into'
    - '&mut [u8]::len'
    - OverlappingPartialBlock::new
    - inner_less_safe
    - '&mut [u8]::as_mut_ptr'
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn seal(aes_key: &aes::hw::Key,gcm_key: &gcm::clmulavxmovbe::Key,mut
      ctr: Counter,tag_iv: aes::Iv,aad: Aad<&[u8]>,in_out: &mut [u8],) -> Result<Tag,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::Context::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:235,1
    - Dst: Aad<&[u8]>::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:235,1
    - Dst: slice::as_chunks_mut
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:236,1
    - Dst: seal_whole
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:237,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:238,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:238,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:238,1
    - Dst: seal_finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - aad
    - in_out
    - ctr
    - tag_iv
    - seal_whole
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - Counter
    - aes::Iv
    - impl FnOnce(&A, &mut gcm::Context<G>, &mut Counter, slice::AsChunksMut<u8, BLOCK_LEN>)
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 4
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: seal_whole_partial
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - slice::as_chunks_mut
    - Result::unwrap_or_else
    - into
    - seal_whole
    - gcm::Context::new
    - seal_finish
    - Aad<&[u8]>::len
    - OverlappingPartialBlock::new
    linkageType: ''
    returnType: Result
    signature: 'fn seal_whole_partial<A: aes::EncryptBlock, G: gcm::UpdateBlock>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm::Context::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:269,1
    - Dst: Aad<&[u8]>::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:269,1
    - Dst: slice::as_chunks_mut
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:271,1
    - Dst: chunks_mut::<CHUNK_BLOCKS>
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:273,1
    - Dst: ctr32_encrypt_within
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:274,1
    - Dst: Result::as_flattened_mut
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:274,1
    - Dst: '&mut [T]::into'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:274,1
    - Dst: update_blocks
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:275,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:275,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:278,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:278,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:278,1
    - Dst: seal_finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 5
    argNames:
    - aad
    - in_out
    - ctr
    - tag_iv
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: seal_strided
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - slice::as_chunks_mut
    - update_blocks
    - Result::as_ref
    - OverlappingPartialBlock::new
    - Result::unwrap_or_else
    - ctr32_encrypt_within
    - into
    - gcm::Context::new
    - '&mut [T]::into'
    - seal_finish
    - Result::as_flattened_mut
    - Aad<&[u8]>::len
    - chunks_mut::<CHUNK_BLOCKS>
    linkageType: ''
    returnType: Result
    signature: 'fn seal_strided<A: aes::EncryptBlock + aes::EncryptCtr32,G: gcm::UpdateBlock
      + gcm::UpdateBlocks,>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OverlappingPartialBlock<'_>::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:290,1
    - Dst: '{

        cpu,

        error::sliceutil::overwrite_at_start'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:293,1
    - Dst: OverlappingPartialBlock<'_>::input
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:293,1
    - Dst: encrypt_iv_xor_block
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:294,1
    - Dst: Self::into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:294,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:295,1
    - Dst: gcm::Context<G>::update_block
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:296,1
    - Dst: OverlappingPartialBlock<'_>::overwrite_at_start
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:297,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:300,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 5
    argNames:
    - aes_key
    - auth
    - remainder
    - ctr
    - tag_iv
    argTypes:
    - '&A'
    - gcm::Context<G>
    - OverlappingPartialBlock<'_>
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: seal_finish
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 3
    functionsReached:
    - finish
    - encrypt_iv_xor_block
    - '{

      cpu,

      error::sliceutil::overwrite_at_start'
    - OverlappingPartialBlock<'_>::input
    - fill
    - gcm::Context<G>::update_block
    - OverlappingPartialBlock<'_>::len
    - OverlappingPartialBlock<'_>::overwrite_at_start
    - Ok
    - Self::into
    linkageType: ''
    returnType: Result
    signature: 'fn seal_finish<A: aes::EncryptBlock, G: gcm::UpdateBlock>(aes_key:
      &A,mut auth: gcm::Context<G>,remainder: OverlappingPartialBlock<''_>,ctr: Counter,tag_iv:
      aes::Iv,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:106,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:106,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:106,1
    - Dst: gcm::Context::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:107,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:107,1
    - Dst: with_input_output_len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:108,1
    - Dst: inner
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:109,1
    - Dst: aesni_gcm_decrypt
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:111,1
    - Dst: inner_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:115,1
    - Dst: '&mut [u8]::get_mut'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:122,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:122,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:129,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:129,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:129,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:134,1
    - Dst: input
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:134,1
    - Dst: update_blocks
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:135,1
    - Dst: as_flattened
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:137,1
    - Dst: '&[T]::len'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:137,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:140,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:140,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:140,1
    - Dst: ctr32_encrypt_within
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:142,1
    - Dst: '&mut [u8]::get_mut'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:144,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:149,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:149,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:150,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:150,1
    - Dst: super::open_finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 71
    argCount: 7
    argNames:
    - aes_key
    - gcm_key
    - ctr
    - tag_iv
    - aad
    - in_out_slice
    - src
    argTypes:
    - '&aes::hw::Key'
    - '&gcm::clmulavxmovbe::Key'
    - Counter
    - aes::Iv
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 154
      start: 84
    functionDepth: 9
    functionLinenumber: 84
    functionLinenumberEnd: 154
    functionName: open
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs
    functionUses: 8
    functionsReached:
    - '&mut [u8]::get_mut'
    - len
    - slice::as_chunks
    - input
    - Result::map_err
    - with_input_output_len
    - Overlapping::new
    - inner
    - gcm::Context::new
    - RangeFrom<usize>::clone
    - super::open_finish
    - aesni_gcm_decrypt
    - ctr32_encrypt_within
    - as_flattened
    - update_blocks
    - Result::unwrap_or_else
    - unwrap_or_else
    - OverlappingPartialBlock::new
    - inner_less_safe
    - '&[T]::len'
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn open(aes_key: &aes::hw::Key,gcm_key: &gcm::clmulavxmovbe::Key,mut
      ctr: Counter,tag_iv: aes::Iv,aad: Aad<&[u8]>,in_out_slice: &mut [u8],src: RangeFrom<usize>,)
      -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:364,1
    - Dst: '&mut [u8]::clone'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:364,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:364,1
    - Dst: gcm::Context::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:365,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:365,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:367,1
    - Dst: Aad<&[u8]>::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:369,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:371,1
    - Dst: '&mut [u8]::clone'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:371,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:371,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:373,1
    - Dst: open_whole
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:374,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:378,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:378,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:379,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:379,1
    - Dst: open_finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 7
    argNames:
    - aad
    - in_out_slice
    - src
    - ctr
    - tag_iv
    - open_whole
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - Counter
    - aes::Iv
    - impl FnOnce(&A, &mut gcm::Context<G>, Overlapping, &mut Counter)
    constantsTouched: []
    func_position:
      end: 382
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 382
    functionName: open_whole_partial
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - len
    - OverlappingPartialBlock::new
    - Result::map_err
    - Result::unwrap_or_else
    - Overlapping::new
    - gcm::Context::new
    - open_finish
    - open_whole
    - Aad<&[u8]>::len
    - '&mut [u8]::clone'
    linkageType: ''
    returnType: Result
    signature: 'fn open_whole_partial<A: aes::EncryptBlock, G: gcm::UpdateBlock>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:418,1
    - Dst: '&mut [u8]::clone'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:418,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:418,1
    - Dst: input
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:419,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:420,1
    - Dst: gcm::Context::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:422,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:438,1
    - Dst: is_empty
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:440,1
    - Dst: update_blocks
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:443,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:445,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:445,1
    - Dst: ctr32_encrypt_within
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:450,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:456,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:456,1
    - Dst: OverlappingPartialBlock::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:458,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:458,1
    - Dst: open_finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 72
    argCount: 6
    argNames:
    - aad
    - in_out_slice
    - src
    - ctr
    - tag_iv
    argTypes:
    - '&Combo<A, G>'
    - Aad<&[u8]>
    - '&mut [u8]'
    - RangeFrom<usize>
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 462
      start: 407
    functionDepth: 4
    functionLinenumber: 407
    functionLinenumberEnd: 462
    functionName: open_strided
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::len
    - update_blocks
    - slice::as_chunks
    - OverlappingPartialBlock::new
    - Result::map_err
    - Result::unwrap_or_else
    - ctr32_encrypt_within
    - Overlapping::new
    - is_empty
    - gcm::Context::new
    - open_finish
    - input
    - '&mut [u8]::clone'
    linkageType: ''
    returnType: Result
    signature: 'fn open_strided<A: aes::EncryptBlock + aes::EncryptCtr32,G: gcm::UpdateBlock
      + gcm::UpdateBlocks,>(Combo'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OverlappingPartialBlock<'_>::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:471,1
    - Dst: '{

        cpu,

        error::sliceutil::overwrite_at_start'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:473,1
    - Dst: OverlappingPartialBlock<'_>::input
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:473,1
    - Dst: gcm::Context<G>::update_block
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:474,1
    - Dst: OverlappingPartialBlock<'_>::overwrite_at_start
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:475,1
    - Dst: encrypt_iv_xor_block
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:475,1
    - Dst: Self::into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:475,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:477,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/aes_gcm.rs:477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 5
    argNames:
    - aes_key
    - auth
    - remainder
    - ctr
    - tag_iv
    argTypes:
    - '&A'
    - gcm::Context<G>
    - OverlappingPartialBlock<'_>
    - Counter
    - aes::Iv
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: open_finish
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm.rs
    functionUses: 3
    functionsReached:
    - finish
    - encrypt_iv_xor_block
    - '{

      cpu,

      error::sliceutil::overwrite_at_start'
    - OverlappingPartialBlock<'_>::input
    - gcm::Context<G>::update_block
    - OverlappingPartialBlock<'_>::len
    - OverlappingPartialBlock<'_>::overwrite_at_start
    - Ok
    - Self::into
    linkageType: ''
    returnType: Result
    signature: 'fn open_finish<A: aes::EncryptBlock, G: gcm::UpdateBlock>(aes_key:
      &A,mut auth: gcm::Context<G>,remainder: OverlappingPartialBlock<''_>,ctr: Counter,tag_iv:
      aes::Iv,) -> Result<Tag, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::split_at_mut
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:152,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:153,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:153,1
    - Dst: '{

        cpu,

        error::InputTooLongError,

        polyfill::u64_from_usize'
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:153,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:154,1
    - Dst: u64::to_le_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:154,1
    - Dst: '{

        cpu,

        error::InputTooLongError,

        polyfill::u64_from_usize'
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:154,1
    - Dst: poly1305::Context::finish
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - auth
    - aad_len
    - in_out_len
    argTypes:
    - poly1305::Context
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: finish
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 34
    functionsReached:
    - copy_from_slice
    - poly1305::Context::finish
    - u64::to_le_bytes
    - '{

      cpu,

      error::InputTooLongError,

      polyfill::u64_from_usize'
    - Result::split_at_mut
    linkageType: ''
    returnType: Tag
    signature: 'fn finish(auth: poly1305::Context, aad_len: usize, in_out_len: usize)
      -> Tag'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: data_len
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:65,1
    - Dst: Default::default
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:66,1
    - Dst: CRYPTO_poly1305_init_neon
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:72,1
    - Dst: super::Context::ArmNeon
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - neon
    argTypes:
    - Key
    - Neon
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: State::new_context
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 1
    functionsReached:
    - CRYPTO_poly1305_init_neon
    - data_len
    - super::Context::ArmNeon
    - Default::default
    linkageType: ''
    returnType: super::Context
    signature: pub(super) fn new_context(Key
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:83,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:83,1
    - Dst: untrusted::Input::as_ptr
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:85,1
    - Dst: CRYPTO_poly1305_update_neon
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: State::update_internal
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 0
    functionsReached:
    - CRYPTO_poly1305_update_neon
    - untrusted::Input::len
    - NonZeroUsize::new
    - untrusted::Input::as_ptr
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn update_internal(&mut self, input: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::Tag
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:94,1
    - Dst: CRYPTO_poly1305_finish_neon
      Src: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: State::finish
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 0
    functionsReached:
    - super::Tag
    - CRYPTO_poly1305_finish_neon
    linkageType: ''
    returnType: Tag
    signature: pub(super) fn finish(mut self) -> Tag
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: data_len
    functionSourceFile: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: const fn data_len() -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:76,1
    - Dst: poly1305::Context::from_key
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:77,1
    - Dst: poly1305_update_padded_16
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:79,1
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:79,1
    - Dst: encrypt
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:80,1
    - Dst: Aad<&[u8]>::into
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:80,1
    - Dst: poly1305_update_padded_16
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:81,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: '&[u8; NONCE_LEN]::len'
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    - Dst: Aad<&[u8]>::len
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_out
    - cpu
    argTypes:
    - '&Key'
    - Nonce
    - Aad<&[u8]>
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: seal_fallback
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8; NONCE_LEN]::len'
    - finish
    - Aad<&[u8]>::into
    - encrypt
    - poly1305::Context::from_key
    - poly1305_update_padded_16
    - begin
    - Ok
    - Aad<&[u8]>::len
    - Nonce::as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn seal_fallback(Key(chacha20_key): &Key,nonce: Nonce,aad:
      Aad<&[u8]>,in_out: &mut [u8],cpu: cpu::Features,) -> Result<Tag, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:110,1
    - Dst: Aad<&[u8]>::input
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:110,1
    - Dst: poly1305::Context::from_key
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:111,1
    - Dst: poly1305_update_padded_16
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:113,1
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:113,1
    - Dst: poly1305_update_padded_16
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:114,1
    - Dst: Aad<&[u8]>::input
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:114,1
    - Dst: Aad<&[u8]>::len
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:115,1
    - Dst: encrypt
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:116,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    - Dst: '&[u8; NONCE_LEN]::len'
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 5
    argNames:
    - nonce
    - aad
    - in_out
    - cpu
    argTypes:
    - '&Key'
    - Nonce
    - Aad<&[u8]>
    - Overlapping<'_>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 5
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: open_fallback
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 0
    functionsReached:
    - '&[u8; NONCE_LEN]::len'
    - finish
    - encrypt
    - poly1305::Context::from_key
    - Aad<&[u8]>::input
    - poly1305_update_padded_16
    - begin
    - Ok
    - Aad<&[u8]>::len
    - Nonce::as_ref
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn open_fallback(Key(chacha20_key): &Key,nonce: Nonce,aad:
      Aad<&[u8]>,in_out: Overlapping<''_>,cpu: cpu::Features,) -> Result<Tag, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:121,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:122,1
    - Dst: InputTooLongError::new
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:122,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:122,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - aad
    - input
    argTypes:
    - Aad<&[u8]>
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: check_input_lengths
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::len
    - Ok
    - Err
    - InputTooLongError::new
    linkageType: ''
    returnType: Result
    signature: 'fn check_input_lengths(aad: Aad<&[u8]>, input: &[u8]) -> Result<(),
      InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_input_lengths
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:142,1
    - Dst: Result::encrypt_single_block_with_ctr_0
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:145,1
    - Dst: poly1305::Key::new
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:146,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - key
    - nonce
    - aad
    - input
    - cpu
    argTypes:
    - '&chacha::Key'
    - Nonce
    - Aad<&[u8]>
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: begin
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 3
    functionsReached:
    - Ok
    - check_input_lengths
    - poly1305::Key::new
    - Result::encrypt_single_block_with_ctr_0
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn begin(key: &chacha::Key,nonce: Nonce,aad: Aad<&[u8]>,input:
      &[u8],cpu: cpu::Features,) -> Result<(Counter, poly1305::Key), InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:160,1
    - Dst: '&mut poly1305::Context::update'
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:161,1
    - Dst: is_empty
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:162,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:164,1
    - Dst: '&mut poly1305::Context::update_block'
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - ctx
    - input
    argTypes:
    - '&mut poly1305::Context'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: poly1305_update_padded_16
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
    functionUses: 2
    functionsReached:
    - slice::as_chunks
    - is_empty
    - sliceutil::overwrite_at_start
    - '&mut poly1305::Context::update'
    - '&mut poly1305::Context::update_block'
    linkageType: ''
    returnType: void
    signature: 'fn poly1305_update_padded_16(ctx: &mut poly1305::Context, input: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/integrated.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 35
    functionName: declare_open
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/integrated.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/chacha20_poly1305/integrated.rs:2,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: declare_seal
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha20_poly1305/integrated.rs
    functionUses: 0
    functionsReached:
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::encrypt_iv_xor_block_using_encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes/vp.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - iv
    - block
    argTypes:
    - Iv
    - Block
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Key::encrypt_iv_xor_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/vp.rs
    functionUses: 0
    functionsReached:
    - super::encrypt_iv_xor_block_using_encrypt_block
    linkageType: ''
    returnType: Block
    signature: 'fn encrypt_iv_xor_block(&self, iv: Iv, block: Block) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::super::shift::shift_full_blocks
      Src: /src/td-shim/library/ring/src/aead/aes/vp.rs:135,1
    - Dst: Key::encrypt_iv_xor_block
      Src: /src/td-shim/library/ring/src/aead/aes/vp.rs:136,1
    - Dst: Self::increment
      Src: /src/td-shim/library/ring/src/aead/aes/vp.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - in_out
    - ctr
    argTypes:
    - Overlapping<'_>
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 11
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: Key::ctr32_encrypt_within
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/vp.rs
    functionUses: 0
    functionsReached:
    - Key::encrypt_iv_xor_block
    - Self::increment
    - super::super::shift::shift_full_blocks
    linkageType: ''
    returnType: void
    signature: 'fn ctr32_encrypt_within(&self, in_out: Overlapping<''_>, ctr: &mut
      Counter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AES_KEY::derive
      Src: /src/td-shim/library/ring/src/aead/aes/bs.rs:45,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/td-shim/library/ring/src/aead/aes/bs.rs:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - in_out
    - vpaes_key
    - ctr
    argTypes:
    - Overlapping<'_>
    - '&AES_KEY'
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: ctr32_encrypt_blocks_with_vpaes_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/bs.rs
    functionUses: 0
    functionsReached:
    - ctr32_encrypt_blocks
    - AES_KEY::derive
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn ctr32_encrypt_blocks_with_vpaes_key(in_out: Overlapping<''_>,vpaes_key:
      &AES_KEY,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::from_bits
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:49,1
    - Dst: BitLength::from_bits
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:50,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:54,1
    - Dst: '&[u8]::as_ptr'
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:54,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:56,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 2
    argNames:
    - f
    - bytes
    argTypes:
    - unsafe extern "C" fn(*const u8, BitLength<c_int>, *mut AES_KEY) -> c_int
    - KeyBytes<'_>
    constantsTouched: []
    func_position:
      end: 60
      start: 39
    functionDepth: 5
    functionLinenumber: 39
    functionLinenumberEnd: 60
    functionName: AES_KEY::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached:
    - BitLength::from_bits
    - f
    - '&[u8]::as_ptr'
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(super) unsafe fn new(f: unsafe extern "C" fn(*const u8, BitLength<c_int>,
      *mut AES_KEY) -> c_int,bytes: KeyBytes<''_>,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - src
    argTypes:
    - for<'a> unsafe extern "C" fn(*mut AES_KEY, &'a AES_KEY)
    - '&Self'
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: AES_KEY::derive
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 1
    functionsReached:
    - f
    linkageType: ''
    returnType: Self
    signature: 'pub(super) unsafe fn derive(f: for<''a> unsafe extern "C" fn(*mut
      AES_KEY, &''a AES_KEY),src: &Self,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: AES_KEY::rounds
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub(super) fn rounds(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:4,1
    - Dst: $crate::aead::aes::ffi::AES_KEY::new
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: set_encrypt_key
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached:
    - $crate::aead::aes::ffi::AES_KEY::new
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:3,1
    - Dst: encrypt_block
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: encrypt_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 7
    functionsReached:
    - encrypt_block
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::mem::MaybeUninit::uninit
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:120,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:122,1
    - Dst: TestResult::as_mut_ptr
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:122,1
    - Dst: TestResult::assume_init
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - unsafe extern "C" fn(&Block, *mut Block, &AES_KEY)
    - Block
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: AES_KEY::encrypt_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached:
    - core::mem::MaybeUninit::uninit
    - f
    - TestResult::assume_init
    - TestResult::as_mut_ptr
    linkageType: ''
    returnType: Block
    signature: 'pub(super) unsafe fn encrypt_block(&self,f: unsafe extern "C" fn(&Block,
      *mut Block, &AES_KEY),a: Block,) -> Block'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:6,1
    - Dst: ctr32_encrypt_blocks
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: ctr32_encrypt_blocks
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 2
    functionsReached:
    - ctr32_encrypt_blocks
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping<'_>::with_input_output_len
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:177,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:180,1
    - Dst: untrusted::Input::cast
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:187,1
    - Dst: cast
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:188,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:189,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:189,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:200,1
    - Dst: Self::increment_by_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes/ffi.rs:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - f
    - in_out
    - ctr
    argTypes:
    - "unsafe extern \"C\" fn(\n            input: *const [u8; BLOCK_LEN],\n     \
      \       output: *mut [u8; BLOCK_LEN],\n            blocks: c::NonZero_size_t,\n\
      \            key: &AES_KEY,\n            ivec: &Counter,\n        )"
    - Overlapping<'_>
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 205
      start: 165
    functionDepth: 10
    functionLinenumber: 165
    functionLinenumberEnd: 205
    functionName: AES_KEY::ctr32_encrypt_blocks
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/ffi.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::cast
    - f
    - unwrap
    - Self::increment_by_less_safe
    - try_into
    - cast
    - NonZeroUsize::new
    - Overlapping<'_>::with_input_output_len
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn ctr32_encrypt_blocks(&self,f: unsafe extern "C"
      fn(input: *const [u8; BLOCK_LEN],output: *mut [u8; BLOCK_LEN],blocks: c::NonZero_size_t,key:
      &AES_KEY,ivec: &Counter,),in_out: Overlapping<''_>,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: Key::inner_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes/hw.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&AES_KEY'
    signature: pub(in super::super) fn inner_less_safe(&self) -> &AES_KEY
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bitxor_assign
      Src: /src/td-shim/library/ring/src/aead/gcm/neon.rs:43,1
    - Dst: gmult
      Src: /src/td-shim/library/ring/src/aead/gcm/neon.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - xi
    - a
    argTypes:
    - '&mut Xi'
    - '[u8; BLOCK_LEN]'
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: Key::update_block
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/neon.rs
    functionUses: 0
    functionsReached:
    - bitxor_assign
    - gmult
    linkageType: ''
    returnType: void
    signature: 'fn update_block(&self, xi: &mut Xi, a: [u8; BLOCK_LEN])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ghash
      Src: /src/td-shim/library/ring/src/aead/gcm/neon.rs:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - xi
    - input
    argTypes:
    - '&mut Xi'
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Key::update_blocks
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/neon.rs
    functionUses: 0
    functionsReached:
    - ghash
    linkageType: ''
    returnType: void
    signature: 'fn update_blocks(&self, xi: &mut Xi, input: AsChunks<u8, BLOCK_LEN>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: g::c::m::_::m::u::l::6::4::_::n::o::h::w::lo
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn lo(a: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lo
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: g::c::m::_::m::u::l::6::4::_::n::o::h::w::hi
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - lo
    linkageType: ''
    returnType: u32
    signature: 'fn hi(a: u64) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u128::from
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:67,1
    - Dst: u128::from
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: g::c::m::_::m::u::l::6::4::_::n::o::h::w::mul
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - u128::from
    linkageType: ''
    returnType: u128
    signature: 'fn mul(a: u64, b: u64) -> u128'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lo
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:154,1
    - Dst: hi
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:155,1
    - Dst: lo
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:156,1
    - Dst: hi
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:157,1
    - Dst: gcm_mul32_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:159,1
    - Dst: gcm_mul32_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:160,1
    - Dst: gcm_mul32_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u64
    - u64
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: gcm_mul64_nohw
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - lo
    - gcm_mul32_nohw
    - hi
    linkageType: ''
    returnType: (u64, u64)
    signature: 'fn gcm_mul64_nohw(a: u64, b: u64) -> (u64, u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64::from
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:117,1
    - Dst: u64::from
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: g::c::m::_::m::u::l::3::2::_::n::o::h::w::mul
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - u64::from
    linkageType: ''
    returnType: u64
    signature: 'fn mul(a: u32, b: u32) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:132,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:133,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:134,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:135,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:135,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:135,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 50
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 11
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: gcm_mul32_nohw
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - mul
    linkageType: ''
    returnType: u64
    signature: 'fn gcm_mul32_nohw(a: u32, b: u32) -> u64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gcm_mul64_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:201,1
    - Dst: gcm_mul64_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:202,1
    - Dst: gcm_mul64_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 2
    argNames:
    - xi
    - h
    argTypes:
    - '&mut [u64; 2]'
    - U128
    constantsTouched: []
    func_position:
      end: 244
      start: 197
    functionDepth: 13
    functionLinenumber: 197
    functionLinenumberEnd: 244
    functionName: gcm_polyval_nohw
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 0
    functionsReached:
    - gcm_mul64_nohw
    linkageType: ''
    returnType: void
    signature: 'fn gcm_polyval_nohw(xi: &mut [u64; 2], h: U128)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: with_swapped_xi
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:247,1
    - Dst: gcm_polyval_nohw
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xi
    - h
    argTypes:
    - '&mut Xi'
    - U128
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 14
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: gmult
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - gcm_polyval_nohw
    - with_swapped_xi
    linkageType: ''
    returnType: void
    signature: 'fn gmult(xi: &mut Xi, h: U128)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:3,1
    - Dst: ghash
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:11,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: ghash
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 2
    functionsReached:
    - ghash
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: array_split_map
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:265,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:267,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:268,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:269,1
    - Dst: u64::to_be_bytes
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:269,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:270,1
    - Dst: u64::to_be_bytes
      Src: /src/td-shim/library/ring/src/aead/gcm/fallback.rs:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - f
    argTypes:
    - '&mut Xi'
    - impl FnOnce(&mut [u64; 2])
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 5
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: with_swapped_xi
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
    functionUses: 1
    functionsReached:
    - u64::to_be_bytes
    - array_split_map
    - copy_from_slice
    - f
    - split_at_mut
    linkageType: ''
    returnType: void
    signature: 'fn with_swapped_xi(Xi(xi): &mut Xi, f: impl FnOnce(&mut [u64; 2]))'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: Key::inner
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/vclmulavx2.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&HTable'
    signature: pub(super) fn inner(&self) -> &HTable
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:3,1
    - Dst: HTable::new
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:6,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: htable_new
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 1
    functionsReached:
    - HTable::new
    - prefixed_extern
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:68,1
    - Dst: array_split_map
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: KeyValue::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 1
    functionsReached:
    - array_split_map
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub(in super::super) fn new(value: Block) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: KeyValue::into_inner
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[u64; 2]'
    signature: pub(super) fn into_inner(self) -> [u64; 2]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - init
    - value
    argTypes:
    - 'unsafe extern "C" fn(HTable: &mut HTable, &[u64; 2])'
    - KeyValue
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: HTable::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 1
    functionsReached:
    - init
    linkageType: ''
    returnType: Self
    signature: 'pub(super) unsafe fn new(init: unsafe extern "C" fn(HTable: &mut HTable,
      &[u64; 2]),value: KeyValue,) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - f
    - xi
    argTypes:
    - 'unsafe extern "C" fn(xi: &mut Xi, h_table: &HTable)'
    - '&mut Xi'
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: HTable::gmult
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn gmult(&self,f: unsafe extern "C" fn(xi: &mut
      Xi, h_table: &HTable),xi: &mut Xi,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::as_flattened
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:123,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:125,1
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:125,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:136,1
    - Dst: untrusted::Input::as_ptr
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - f
    - xi
    - input
    argTypes:
    - "unsafe extern \"C\" fn(\n            xi: &mut Xi,\n            Htable: &HTable,\n\
      \            inp: *const u8,\n            len: crate::c::NonZero_size_t,\n \
      \       )"
    - '&mut Xi'
    - AsChunks<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: HTable::ghash
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::len
    - untrusted::Input::as_flattened
    - f
    - NonZeroUsize::new
    - untrusted::Input::as_ptr
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn ghash(&self,f: unsafe extern "C" fn(xi: &mut
      Xi,Htable: &HTable,inp: *const u8,len: crate::c::NonZero_size_t,),xi: &mut Xi,input:
      AsChunks<u8, BLOCK_LEN>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bb::xor_16
      Src: /src/td-shim/library/ring/src/aead/gcm/ffi.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - Block
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: Xi::bitxor_assign
    functionSourceFile: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
    functionUses: 0
    functionsReached:
    - bb::xor_16
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn bitxor_assign(&mut self, a: Block)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::words_less_safe
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:30,1
    - Dst: '[u32; 4]::into_words_less_safe'
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:31,1
    - Dst: Overlapping<'_>::len
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:38,1
    - Dst: chacha_core
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:42,1
    - Dst: split_first_chunk::<BLOCK_LEN>
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:50,1
    - Dst: bb::xor_assign_at_start
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:52,1
    - Dst: Overlapping<'_>::input
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:52,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:53,1
    - Dst: Overlapping<'_>::into_unwritten_output
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:53,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:50,1
    - Dst: bb::xor_assign_at_start
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:60,1
    - Dst: Overlapping<'_>::input
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:60,1
    - Dst: sliceutil::overwrite_at_start
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:61,1
    - Dst: Overlapping<'_>::into_unwritten_output
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 77
    argCount: 3
    argNames:
    - key
    - counter
    - in_out
    argTypes:
    - '&Key'
    - Counter
    - Overlapping<'_>
    constantsTouched: []
    func_position:
      end: 67
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 67
    functionName: ChaCha20_ctr32
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha/fallback.rs
    functionUses: 1
    functionsReached:
    - bb::xor_assign_at_start
    - Overlapping<'_>::into_unwritten_output
    - split_first_chunk::<BLOCK_LEN>
    - sliceutil::overwrite_at_start
    - unwrap_or_else
    - chacha_core
    - '[u32; 4]::into_words_less_safe'
    - Result::words_less_safe
    - Overlapping<'_>::len
    - Overlapping<'_>::input
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn ChaCha20_ctr32(key: &Key, counter: Counter, mut in_out:
      Overlapping<''_>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step_by
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:74,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:75,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:76,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:77,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:78,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:79,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:80,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:81,1
    - Dst: quarterround
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:82,1
    - Dst: Result::iter_mut
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:85,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:85,1
    - Dst: untrusted::Input::iter
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:85,1
    - Dst: Result::wrapping_add
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:86,1
    - Dst: chunks_exact_mut
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:89,1
    - Dst: size_of::<u32>
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:90,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:89,1
    - Dst: Result::iter
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:91,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:89,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:92,1
    - Dst: Result::to_le_bytes
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 2
    argNames:
    - output
    - input
    argTypes:
    - '&mut [u8; BLOCK_LEN]'
    - '&State'
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: chacha_core
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha/fallback.rs
    functionUses: 1
    functionsReached:
    - step_by
    - quarterround
    - size_of::<u32>
    - chunks_exact_mut
    - copy_from_slice
    - Result::iter_mut
    - zip
    - Result::iter
    - Result::to_le_bytes
    - for_each
    - Result::wrapping_add
    - untrusted::Input::iter
    linkageType: ''
    returnType: void
    signature: 'fn chacha_core(output: &mut [u8; BLOCK_LEN], input: &State)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wrapping_add
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:99,1
    - Dst: rotate_left
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - x
    - a
    - b
    - c
    - rotation
    argTypes:
    - '&mut State'
    - usize
    - usize
    - usize
    - u32
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: q::u::a::r::t::e::r::r::o::u::n::d::step
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha/fallback.rs
    functionUses: 0
    functionsReached:
    - wrapping_add
    - rotate_left
    linkageType: ''
    returnType: void
    signature: 'fn step(x: &mut State, a: usize, b: usize, c: usize, rotation: u32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: step
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:102,1
    - Dst: step
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:103,1
    - Dst: step
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:104,1
    - Dst: step
      Src: /src/td-shim/library/ring/src/aead/chacha/fallback.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 5
    argNames:
    - x
    - a
    - b
    - c
    - d
    argTypes:
    - '&mut State'
    - usize
    - usize
    - usize
    - usize
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: quarterround
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha/fallback.rs
    functionUses: 1
    functionsReached:
    - step
    linkageType: ''
    returnType: void
    signature: 'fn quarterround(x: &mut State, a: usize, b: usize, c: usize, d: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::into
      Src: /src/td-shim/library/ring/src/aead/chacha/ffi.rs:59,1
    - Dst: usize::with_input_output_len
      Src: /src/td-shim/library/ring/src/aead/chacha/ffi.rs:60,1
    - Dst: Result::words_less_safe
      Src: /src/td-shim/library/ring/src/aead/chacha/ffi.rs:62,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/aead/chacha/ffi.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - key
    - counter
    - in_out
    - cpu
    - f
    argTypes:
    - '&Key'
    - Counter
    - InOut
    - Cpu
    - unsafe extern "C" fn(*mut u8, *const u8, crate::c::size_t, &[u32; 8], &Counter)
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 5
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: chacha20_ctr32_ffi
    functionSourceFile: /src/td-shim/library/ring/src/aead/chacha/ffi.rs
    functionUses: 0
    functionsReached:
    - f
    - Result::words_less_safe
    - usize::with_input_output_len
    - usize::into
    linkageType: ''
    returnType: void
    signature: 'pub(super) unsafe fn chacha20_ctr32_ffi<''o,InOut: ''o + Into<Overlapping<''o,
      u8>>,Cpu,const MIN_LEN: usize,>(key: &Key,counter: Counter,in_out: InOut,cpu:
      Cpu,f: unsafe extern "C" fn(*mut u8, *const u8, crate::c::size_t, &[u32; 8],
      &Counter),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping<'o, T>::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:29,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:30,1
    - Dst: LenMismatchError::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:30,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - Overlapping<'o, T>
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: Array::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/array.rs
    functionUses: 0
    functionsReached:
    - Overlapping<'o, T>::len
    - Ok
    - Err
    - LenMismatchError::new
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn new(in_out: Overlapping<''o, T>) -> Result<Self, LenMismatchError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_unwritten_output
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:39,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:39,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: Array::into_unwritten_output
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/array.rs
    functionUses: 0
    functionsReached:
    - try_into
    - into_unwritten_output
    - unwrap_or_else
    linkageType: ''
    returnType: '&''o mut [T; N]'
    signature: 'pub fn into_unwritten_output(self) -> &''o mut [T; N]where&''o mut
      [T]: TryInto<&''o mut [T; N], Error = TryFromSliceError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: input
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:53,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:53,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/array.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: Array::input
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/array.rs
    functionUses: 0
    functionsReached:
    - try_into
    - unwrap_or_else
    - input
    linkageType: ''
    returnType: '&''s [T; N]'
    signature: 'pub fn input<''s>(&''s self) -> &''s [T; N]where&''s [T]: TryInto<&''s
      [T; N], Error = TryFromSliceError>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping<'i, T>::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:25,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:27,1
    - Dst: InputTooLongError::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:27,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - Overlapping<'i, T>
    constantsTouched: []
    func_position:
      end: 30
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 30
    functionName: PartialBlock::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs
    functionUses: 6
    functionsReached:
    - InputTooLongError::new
    - Ok
    - Err
    - Overlapping<'i, T>::len
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(in_out: Overlapping<''i, T>) -> Result<Self, InputTooLongError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PartialBlock::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:36,1
    - Dst: into_unwritten_output
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:37,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - padded
    argTypes:
    - '[T; BLOCK_LEN]'
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: PartialBlock::overwrite_at_start
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs
    functionUses: 0
    functionsReached:
    - into_unwritten_output
    - PartialBlock::len
    - copy_from_slice
    linkageType: ''
    returnType: void
    signature: 'pub fn overwrite_at_start(self, padded: [T; BLOCK_LEN])whereT: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: input
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:46,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: PartialBlock::input
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - input
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn input(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PartialBlock::input
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:57,1
    - Dst: '&[T]::len'
      Src: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: PartialBlock::len
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs
    functionUses: 1
    functionsReached:
    - PartialBlock::input
    - '&[T]::len'
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - in_out
    argTypes:
    - '&''o mut [T]'
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: Overlapping::from
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(in_out: &''o mut [T]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''o mut [T]::get'
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:34,1
    - Dst: RangeFrom<usize>::clone
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:34,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:35,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:36,1
    - Dst: IndexError::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - in_out
    - src
    argTypes:
    - '&''o mut [T]'
    - RangeFrom<usize>
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 9
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: Overlapping::new
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 5
    functionsReached:
    - Ok
    - RangeFrom<usize>::clone
    - '&''o mut [T]::get'
    - IndexError::new
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn new(in_out: &''o mut [T], src: RangeFrom<usize>) -> Result<Self,
      IndexError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:51,1
    - Dst: copy_within
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: Overlapping::copy_within
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - Overlapping::len
    - copy_within
    linkageType: ''
    returnType: '&''o mut [T]'
    signature: 'pub fn copy_within(self) -> &''o mut [T]whereT: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: Overlapping::into_slice_src_mut
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (&'o mut [T], RangeFrom
    signature: pub fn into_slice_src_mut(self) -> (&'o mut [T], RangeFrom<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:66,1
    - Dst: get_mut
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:67,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: Overlapping::into_unwritten_output
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - Overlapping::len
    - unwrap_or_else
    - get_mut
    linkageType: ''
    returnType: '&''o mut [T]'
    signature: pub fn into_unwritten_output(self) -> &'o mut [T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::input
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:76,1
    - Dst: '&[T]::len'
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: Overlapping::len
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 2
    functionsReached:
    - Overlapping::input
    - '&[T]::len'
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:80,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:80,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 9
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: Overlapping::input
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 1
    functionsReached:
    - unwrap_or_else
    - clone
    - get
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn input(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::len
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:87,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:88,1
    - Dst: output::add
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl FnOnce(*const T, *mut T, usize) -> R
    constantsTouched: []
    func_position:
      end: 103
      start: 86
    functionDepth: 11
    functionLinenumber: 86
    functionLinenumberEnd: 103
    functionName: Overlapping::with_input_output_len
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - Overlapping::len
    - output::add
    linkageType: ''
    returnType: R
    signature: 'pub fn with_input_output_len<R>(self, f: impl FnOnce(*const T, *mut
      T, usize) -> R) -> R'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:116,1
    - Dst: checked_add
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:117,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:117,1
    - Dst: IndexError::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:121,1
    - Dst: get_mut
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:122,1
    - Dst: ok_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:122,1
    - Dst: IndexError::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:125,1
    - Dst: Overlapping::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:126,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:126,1
    - Dst: Array::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:130,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:130,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:136,1
    - Dst: mem::take
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:138,1
    - Dst: get_mut
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:138,1
    - Dst: unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:138,1
    - Dst: Self::new
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:142,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/aead/overlapping/base.rs:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl for<'a> FnOnce(Array<'a, T, N>)
    constantsTouched: []
    func_position:
      end: 147
      start: 112
    functionDepth: 10
    functionLinenumber: 112
    functionLinenumberEnd: 147
    functionName: Overlapping::split_first_chunk
    functionSourceFile: /src/td-shim/library/ring/src/aead/overlapping/base.rs
    functionUses: 0
    functionsReached:
    - ok_or_else
    - clone
    - Result::unwrap_or_else
    - Overlapping::new
    - unwrap_or_else
    - Array::new
    - Ok
    - Self::new
    - checked_add
    - IndexError::new
    - mem::take
    - get_mut
    linkageType: ''
    returnType: Result
    signature: 'pub fn split_first_chunk<const N: usize>(mut self,f: impl for<''a>
      FnOnce(Array<''a, T, N>),) -> Result<Self, IndexError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut gcm::Context<gcm::clmul::Key>::in_out_whole_block_bits'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:27,1
    - Dst: BitLength::into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:28,1
    - Dst: usize::try_into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:29,1
    - Dst: '&mut gcm::Context<gcm::clmul::Key>::inner'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:30,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:32,1
    - Dst: aes_gcm_enc_kernel
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:44,1
    - Dst: AsChunksMut<u8, BLOCK_LEN>::as_ptr
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:45,1
    - Dst: AsChunksMut<u8, BLOCK_LEN>::as_mut_ptr
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:47,1
    - Dst: inner_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - aes_key
    - auth
    - ctr
    - in_out
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::clmul::Key>'
    - '&mut Counter'
    - AsChunksMut<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 55
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 55
    functionName: seal_whole
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs
    functionUses: 1
    functionsReached:
    - aes_gcm_enc_kernel
    - AsChunksMut<u8, BLOCK_LEN>::as_mut_ptr
    - BitLength::into
    - prefixed_extern
    - '&mut gcm::Context<gcm::clmul::Key>::in_out_whole_block_bits'
    - usize::try_into
    - '&mut gcm::Context<gcm::clmul::Key>::inner'
    - AsChunksMut<u8, BLOCK_LEN>::as_ptr
    - inner_less_safe
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn seal_whole(aes_key: &aes::hw::Key,auth: &mut gcm::Context<gcm::clmul::Key>,ctr:
      &mut Counter,mut in_out: AsChunksMut<u8, BLOCK_LEN>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Overlapping::with_input_output_len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:66,1
    - Dst: '&mut gcm::Context<gcm::clmul::Key>::in_out_whole_block_bits'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:67,1
    - Dst: BitLength::into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:68,1
    - Dst: usize::try_into
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:69,1
    - Dst: '&mut gcm::Context<gcm::clmul::Key>::inner'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:70,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:71,1
    - Dst: aes_gcm_dec_kernel
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:83,1
    - Dst: inner_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - aes_key
    - auth
    - in_out
    - ctr
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::clmul::Key>'
    - Overlapping
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 12
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: open_whole
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs
    functionUses: 1
    functionsReached:
    - Overlapping::with_input_output_len
    - BitLength::into
    - prefixed_extern
    - '&mut gcm::Context<gcm::clmul::Key>::in_out_whole_block_bits'
    - usize::try_into
    - '&mut gcm::Context<gcm::clmul::Key>::inner'
    - aes_gcm_dec_kernel
    - inner_less_safe
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn open_whole(aes_key: &aes::hw::Key,auth: &mut gcm::Context<gcm::clmul::Key>,in_out:
      Overlapping,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [T]::as_flattened_mut'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:38,1
    - Dst: u32::try_from
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:42,1
    - Dst: '&mut [T]::len'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:42,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:42,1
    - Dst: NonZeroU32::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:44,1
    - Dst: inner_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:45,1
    - Dst: '&mut gcm::Context<gcm::vclmulavx2::Key>::inner'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:46,1
    - Dst: '&mut [T]::as_ptr'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:47,1
    - Dst: '&mut [T]::as_mut_ptr'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:48,1
    - Dst: '&mut [T]::len'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:49,1
    - Dst: aes_gcm_enc_update_vaes_avx2
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:50,1
    - Dst: Self::increment_by_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - aes_key
    - auth
    - ctr
    - in_out
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::vclmulavx2::Key>'
    - '&mut Counter'
    - AsChunksMut<u8, BLOCK_LEN>
    constantsTouched: []
    func_position:
      end: 53
      start: 21
    functionDepth: 10
    functionLinenumber: 21
    functionLinenumberEnd: 53
    functionName: seal_whole_vaes_clmul_avx2
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs
    functionUses: 0
    functionsReached:
    - '&mut [T]::as_ptr'
    - inner_less_safe
    - '&mut [T]::as_flattened_mut'
    - '&mut [T]::len'
    - Result::unwrap
    - Self::increment_by_less_safe
    - '&mut gcm::Context<gcm::vclmulavx2::Key>::inner'
    - '&mut [T]::as_mut_ptr'
    - u32::try_from
    - aes_gcm_enc_update_vaes_avx2
    - NonZeroU32::new
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn seal_whole_vaes_clmul_avx2(aes_key: &aes::hw::Key,auth:
      &mut gcm::Context<gcm::vclmulavx2::Key>,ctr: &mut Counter,mut in_out: AsChunksMut<u8,
      BLOCK_LEN>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u32::try_from
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:76,1
    - Dst: Overlapping::len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:76,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:76,1
    - Dst: NonZeroU32::new
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:78,1
    - Dst: inner_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:79,1
    - Dst: '&mut gcm::Context<gcm::vclmulavx2::Key>::inner'
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:80,1
    - Dst: Overlapping::with_input_output_len
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:81,1
    - Dst: aes_gcm_dec_update_vaes_avx2
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:82,1
    - Dst: Self::increment_by_less_safe
      Src: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 4
    argNames:
    - aes_key
    - auth
    - in_out
    - ctr
    argTypes:
    - '&aes::hw::Key'
    - '&mut gcm::Context<gcm::vclmulavx2::Key>'
    - Overlapping
    - '&mut Counter'
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 11
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: open_whole_vaes_clmul_avx2
    functionSourceFile: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs
    functionUses: 0
    functionsReached:
    - Overlapping::len
    - aes_gcm_dec_update_vaes_avx2
    - inner_less_safe
    - Overlapping::with_input_output_len
    - Result::unwrap
    - Self::increment_by_less_safe
    - '&mut gcm::Context<gcm::vclmulavx2::Key>::inner'
    - u32::try_from
    - NonZeroU32::new
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn open_whole_vaes_clmul_avx2(aes_key: &aes::hw::Key,auth:
      &mut gcm::Context<gcm::vclmulavx2::Key>,in_out: Overlapping,ctr: &mut Counter,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Seed::compute_public_key
      Src: /src/td-shim/library/ring/src/ec/keys.rs:14,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/keys.rs:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - cpu_features
    argTypes:
    - Seed
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: KeyPair::derive
    functionSourceFile: /src/td-shim/library/ring/src/ec/keys.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Seed::compute_public_key
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn derive(seed: Seed,cpu_features: cpu::Features,) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyPair::public
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: KeyPair::public_key
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - KeyPair::public
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: KeyPair::split
    functionSourceFile: /src/td-shim/library/ring/src/ec/keys.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: (Seed, PublicKey)
    signature: pub fn split(self) -> (Seed, PublicKey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/keys.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - curve
    - rng
    - cpu
    argTypes:
    - '&''static Curve'
    - '&dyn rand::SecureRandom'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: Seed::generate
    functionSourceFile: /src/td-shim/library/ring/src/ec/keys.rs
    functionUses: 1
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn generate(curve: &''static Curve,rng: &dyn rand::SecureRandom,cpu:
      cpu::Features,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::as_slice_less_safe'
      Src: /src/td-shim/library/ring/src/ec/keys.rs:50,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/ec/keys.rs:51,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/keys.rs:52,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/keys.rs:59,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/keys.rs:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - curve
    - bytes
    - cpu
    argTypes:
    - '&''static Curve'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: Seed::from_bytes
    functionSourceFile: /src/td-shim/library/ring/src/ec/keys.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - '&[u8]::len'
    - Ok
    - '&[u8]::as_slice_less_safe'
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn from_bytes(curve: &''static Curve,bytes: untrusted::Input,cpu:
      cpu::Features,) -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: Seed::bytes_less_safe
    functionSourceFile: /src/td-shim/library/ring/src/ec/keys.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn bytes_less_safe(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/keys.rs:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: Seed::compute_public_key
    functionSourceFile: /src/td-shim/library/ring/src/ec/keys.rs
    functionUses: 1
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn compute_public_key(&self,cpu_features: cpu::Features,)
      -> Result<PublicKey, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_affine_point_is_on_the_curve_scaled
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:36,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:36,1
    - Dst: a
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:36,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:36,1
    - Dst: b
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - q
    argTypes:
    - '&Modulus<Q>'
    - (&Elem<R>, &Elem<R>)
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 6
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: verify_affine_point_is_on_the_curve
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b.rs
    functionUses: 0
    functionsReached:
    - verify_affine_point_is_on_the_curve_scaled
    - Elem::from
    - b
    - a
    linkageType: ''
    returnType: Result
    signature: 'fn verify_affine_point_is_on_the_curve(q: &Modulus<Q>,(x, y): (&Elem<R>,
      &Elem<R>),) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_z
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:52,1
    - Dst: elem_verify_is_not_zero
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:55,1
    - Dst: point_x
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:57,1
    - Dst: point_y
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:58,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:102,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:103,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:104,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:104,1
    - Dst: a
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:104,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:105,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:106,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:106,1
    - Dst: b
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:106,1
    - Dst: verify_affine_point_is_on_the_curve_scaled
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:107,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - '&Modulus<Q>'
    - '&Point'
    constantsTouched: []
    func_position:
      end: 109
      start: 48
    functionDepth: 11
    functionLinenumber: 48
    functionLinenumberEnd: 109
    functionName: verify_jacobian_point_is_on_the_curve
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b.rs
    functionUses: 0
    functionsReached:
    - Elem::from
    - verify_affine_point_is_on_the_curve_scaled
    - elem_verify_is_not_zero
    - point_z
    - b
    - elem_product
    - Ok
    - point_y
    - point_x
    - elem_squared
    - a
    linkageType: ''
    returnType: Result
    signature: 'fn verify_jacobian_point_is_on_the_curve(q: &Modulus<Q>,p: &Point,)
      -> Result<Elem<R>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:142,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:144,1
    - Dst: add_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:145,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:146,1
    - Dst: add_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:147,1
    - Dst: elems_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:149,1
    - Dst: LimbMask::leak
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:149,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:150,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 4
    argNames:
    - q
    - a_scaled
    - b_scaled
    argTypes:
    - '&Modulus<Q>'
    - (&Elem<R>, &Elem<R>)
    - '&Elem<R>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 154
      start: 136
    functionDepth: 11
    functionLinenumber: 136
    functionLinenumberEnd: 154
    functionName: verify_affine_point_is_on_the_curve_scaled
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b.rs
    functionUses: 2
    functionsReached:
    - LimbMask::leak
    - elems_are_equal
    - Ok
    - elem_squared
    - add_assign
    - Err
    - elem_mul
    linkageType: ''
    returnType: Result
    signature: 'fn verify_affine_point_is_on_the_curve_scaled(q: &Modulus<Q>,(x, y):
      (&Elem<R>, &Elem<R>),a_scaled: &Elem<R>,b_scaled: &Elem<R>,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::unwrap_key
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:162,1
    - Dst: read_all
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:164,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:164,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:166,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:169,1
    - Dst: key_pair_from_pkcs8_
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:170,1
    - Dst: key_pair_from_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - curve
    - template
    - input
    - cpu_features
    argTypes:
    - '&''static ec::Curve'
    - '&pkcs8::Template'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: key_pair_from_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b.rs
    functionUses: 0
    functionsReached:
    - key_pair_from_pkcs8_
    - pkcs8::unwrap_key
    - error::KeyRejected::invalid_encoding
    - der::nested
    - key_pair_from_bytes
    - read_all
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn key_pair_from_pkcs8(curve: &''static ec::Curve,template:
      &pkcs8::Template,input: untrusted::Input,cpu_features: cpu::Features,) -> Result<ec::KeyPair,
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::small_nonnegative_integer
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:180,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:180,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:181,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:183,1
    - Dst: error::KeyRejected::version_not_supported
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:183,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:186,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:186,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:187,1
    - Dst: untrusted::Input::peek
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:190,1
    - Dst: u8::from
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:190,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:192,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:192,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:193,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:194,1
    - Dst: curve_oid
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:194,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:194,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:195,1
    - Dst: error::KeyRejected::wrong_algorithm
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:195,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:201,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:201,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:207,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - template
    - input
    argTypes:
    - '&pkcs8::Template'
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 210
      start: 176
    functionDepth: 6
    functionLinenumber: 176
    functionLinenumberEnd: 210
    functionName: key_pair_from_pkcs8_
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b.rs
    functionUses: 1
    functionsReached:
    - error::KeyRejected::version_not_supported
    - Result::map_err
    - der::expect_tag_and_get_value
    - untrusted::Input::as_slice_less_safe
    - der::small_nonnegative_integer
    - error::KeyRejected::invalid_encoding
    - untrusted::Input::peek
    - as_slice_less_safe
    - der::nested
    - Ok
    - curve_oid
    - error::KeyRejected::wrong_algorithm
    - Err
    - u8::from
    linkageType: ''
    returnType: Result
    signature: 'fn key_pair_from_pkcs8_<''a>(template: &pkcs8::Template,input: &mut
      untrusted::Reader<''a>,) -> Result<(untrusted::Input<''a>, untrusted::Input<''a>),
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::Seed::from_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:218,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:218,1
    - Dst: error::KeyRejected::invalid_component
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:219,1
    - Dst: ec::KeyPair::derive
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:221,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:221,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:222,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:223,1
    - Dst: Result::public_key
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:223,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:223,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:224,1
    - Dst: error::KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:224,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b.rs:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - curve
    - private_key_bytes
    - public_key_bytes
    - cpu_features
    argTypes:
    - '&''static ec::Curve'
    - untrusted::Input
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 7
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: key_pair_from_bytes
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b.rs
    functionUses: 1
    functionsReached:
    - Result::as_ref
    - Result::map_err
    - error::KeyRejected::inconsistent_components
    - ec::KeyPair::derive
    - ec::Seed::from_bytes
    - untrusted::Input::as_slice_less_safe
    - Ok
    - error::KeyRejected::invalid_component
    - Result::public_key
    - Err
    - error::KeyRejected::unexpected_error
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn key_pair_from_bytes(curve: &''static ec::Curve,private_key_bytes:
      untrusted::Input,public_key_bytes: untrusted::Input,cpu_features: cpu::Features,)
      -> Result<ec::KeyPair, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:96,1
    - Dst: parse_uncompressed_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:106,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:128,1
    - Dst: private_key_as_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:129,1
    - Dst: '&PrivateKeyOps::point_mul'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:130,1
    - Dst: big_endian_affine_from_jacobian
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 6
    argNames:
    - private_key_ops
    - public_key_ops
    - out
    - my_private_key
    - peer_public_key
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&PublicKeyOps'
    - '&mut [u8]'
    - '&ec::Seed'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 145
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 145
    functionName: ecdh
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs
    functionUses: 0
    functionsReached:
    - parse_uncompressed_point
    - private_key_as_scalar
    - scalar_modulus
    - '&PrivateKeyOps::point_mul'
    - elem_modulus
    - big_endian_affine_from_jacobian
    linkageType: ''
    returnType: Result
    signature: 'fn ecdh(private_key_ops: &PrivateKeyOps,public_key_ops: &PublicKeyOps,out:
      &mut [u8],my_private_key: &ec::Seed,peer_public_key: untrusted::Input,cpu: cpu::Features,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:178,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:193,1
    - Dst: n_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:193,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:209,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:209,1
    - Dst: core::cell::UnsafeCell::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:236,1
    - Dst: agreement::EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:238,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 10
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: tests::test_agreement_suite_b_ecdh_generate
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs
    functionUses: 0
    functionsReached:
    - core::cell::UnsafeCell::new
    - limb::big_endian_from_limbs
    - Result::unwrap
    - iter
    - agreement::EphemeralPrivateKey::generate
    - n_limbs
    linkageType: ''
    returnType: void
    signature: fn test_agreement_suite_b_ecdh_generate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:125,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:126,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: Point::new_at_infinity
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - Elem::zero
    linkageType: ''
    returnType: Self
    signature: pub fn new_at_infinity() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: CommonOps::elem_modulus
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Modulus
    signature: 'pub(super) fn elem_modulus(&''static self, cpu_features: cpu::Features)
      -> Modulus<Q>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: CommonOps::scalar_modulus
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Modulus
    signature: 'pub(super) fn scalar_modulus(&''static self, cpu_features: cpu::Features)
      -> Modulus<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: CommonOps::len
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: CommonOps::n_limbs
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: '&[Limb]'
    signature: pub(super) fn n_limbs(&self) -> &[Limb]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: Modulus::cpu
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cpu::Features
    signature: pub fn cpu(&self) -> cpu::Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Modulus::bytes_len
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: usize
    signature: pub fn bytes_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:135,1
    - Dst: limbs_add_assign_mod
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:136,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&mut elem::Elem<M, E>'
    - '&elem::Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: Modulus::add_assign
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - limbs_add_assign_mod
    - into
    linkageType: ''
    returnType: void
    signature: 'pub fn add_assign<E: Encoding>(&self, a: &mut elem::Elem<M, E>, b:
      &elem::Elem<M, E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:148,1
    - Dst: limbs_equal_limbs_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:149,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<E>'
    - '&Elem<E>'
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: Modulus::elems_are_equal
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - limbs_equal_limbs_consttime
    - Result::unwrap_or_else
    - into
    linkageType: ''
    returnType: LimbMask
    signature: 'pub fn elems_are_equal<E: Encoding>(&self, a: &Elem<E>, b: &Elem<E>)
      -> LimbMask'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Modulus::elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:155,1
    - Dst: Elem::one
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: Modulus::elem_unencoded
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Elem::one
    - Modulus::elem_product
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_unencoded(&self, a: &Elem<R>) -> Elem<Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:162,1
    - Dst: limbs_are_zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:163,1
    - Dst: LimbMask::leak
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&elem::Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: CommonOps::is_zero
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - LimbMask::leak
    - into
    - limbs_are_zero
    linkageType: ''
    returnType: bool
    signature: 'fn is_zero<M, E: Encoding>(&self, a: &elem::Elem<M, E>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::binary_op_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&mut Elem<R>'
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: CommonOps::elem_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem::binary_op_assign
    linkageType: ''
    returnType: void
    signature: 'fn elem_mul(&self, a: &mut Elem<R>, b: &Elem<R>, _cpu: cpu::Features)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::mul_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&Elem<EA>'
    - '&Elem<EB>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: CommonOps::elem_product
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem::mul_mont
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_product<EA: Encoding, EB: Encoding>(&self,a: &Elem<EA>,b:
      &Elem<EB>,_cpu: cpu::Features,) -> Elem<<(EA, EB) as ProductEncoding>::Output>where(EA,
      EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::unary_op_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - '&mut Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: CommonOps::elem_square
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem::unary_op_assign
    linkageType: ''
    returnType: void
    signature: 'fn elem_square(&self, a: &mut Elem<R>, _cpu: cpu::Features)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::unary_op
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: CommonOps::elem_squared
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem::unary_op
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_squared(&self, a: &Elem<R>, _cpu: cpu::Features) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&mut Elem<R>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 11
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: Modulus::elem_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_mul
    linkageType: ''
    returnType: void
    signature: 'pub fn elem_mul(&self, a: &mut Elem<R>, b: &Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<EA>'
    - '&Elem<EB>'
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: Modulus::elem_product
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - elem_product
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_product<EA: Encoding, EB: Encoding>(&self,a: &Elem<EA>,b:
      &Elem<EB>,) -> Elem<<(EA, EB) as ProductEncoding>::Output>where(EA, EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_square
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&mut Elem<R>'
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: Modulus::elem_square
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_square
    linkageType: ''
    returnType: void
    signature: 'pub fn elem_square(&self, a: &mut Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 11
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: Modulus::elem_squared
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_squared
    linkageType: ''
    returnType: Elem
    signature: 'pub fn elem_squared(&self, a: &Elem<R>) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&elem::Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: Modulus::is_zero
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - is_zero
    linkageType: ''
    returnType: bool
    signature: 'pub fn is_zero<E: Encoding>(&self, a: &elem::Elem<M, E>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Modulus::is_zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:233,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:234,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 238
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 238
    functionName: Modulus::elem_verify_is_not_zero
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Err
    - Modulus::is_zero
    linkageType: ''
    returnType: Result
    signature: 'pub fn elem_verify_is_not_zero(&self, a: &Elem<R>) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: Modulus::a
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PublicElem'
    signature: pub(super) fn a(&self) -> &'static PublicElem<R>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: Modulus::b
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PublicElem'
    signature: pub(super) fn b(&self) -> &'static PublicElem<R>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:250,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:252,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:252,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&Point'
    - '&Point'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 255
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 255
    functionName: PrivateKeyOps::point_sum
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - Point::new_at_infinity
    - as_ptr
    linkageType: ''
    returnType: Point
    signature: 'pub(super) fn point_sum(&self, a: &Point, b: &Point, _cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:260,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:261,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - '&Point'
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: Modulus::point_x
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - into
    - Elem::zero
    linkageType: ''
    returnType: Elem
    signature: 'pub fn point_x(&self, p: &Point) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:267,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:268,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - '&Point'
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: Modulus::point_y
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - into
    - Elem::zero
    linkageType: ''
    returnType: Elem
    signature: 'pub fn point_y(&self, p: &Point) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:274,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:275,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - '&Point'
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: Modulus::point_z
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - copy_from_slice
    - into
    - Elem::zero
    linkageType: ''
    returnType: Elem
    signature: 'pub fn point_z(&self, p: &Point) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&''a Elem<Unencoded>'
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: PrivateKeyOps::leak_limbs
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: '&''a [Limb]'
    signature: 'pub fn leak_limbs<''a>(&self, a: &''a Elem<Unencoded>) -> &''a [Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: PrivateKeyOps::point_mul_base
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Point
    signature: 'pub(super) fn point_mul_base(&self, a: &Scalar, cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:317,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:320,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:321,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:322,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - p_scalar
    - _cpu
    argTypes:
    - '&Scalar'
    - '&(Elem<R>, Elem<R>)'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: PrivateKeyOps::point_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 1
    functionsReached:
    - as_mut_ptr
    - Point::new_at_infinity
    - as_ptr
    linkageType: ''
    returnType: Point
    signature: 'pub(super) fn point_mul(&self,p_scalar: &Scalar,(p_x, p_y): &(Elem<R>,
      Elem<R>),_cpu: cpu::Features,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - a
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: PrivateKeyOps::elem_inverse_squared
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Elem
    signature: 'pub(super) fn elem_inverse_squared(&self, q: &Modulus<Q>, a: &Elem<R>)
      -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:352,1
    - Dst: untrusted::Input::read_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:353,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:353,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:354,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:355,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:356,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:361,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:362,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:363,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - q
    - input
    argTypes:
    - '&Modulus<Q>'
    - '&mut untrusted::Reader'
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 7
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: PublicKeyOps::elem_parse
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - len
    - Elem::from
    - as_mut_ptr
    - elem_parse_big_endian_fixed_consttime
    - as_ptr
    - cpu::features
    - Ok
    - untrusted::Input::read_bytes
    - Elem::zero
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn elem_parse(&self,q: &Modulus<Q>,input: &mut untrusted::Reader,)
      -> Result<Elem<R>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: ScalarOps::scalar_modulus
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_modulus
    linkageType: ''
    returnType: Modulus
    signature: 'pub(super) fn scalar_modulus(&''static self, cpu_features: cpu::Features)
      -> Modulus<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: ScalarOps::scalar_bytes_len
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn scalar_bytes_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - '&''s Scalar'
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: ScalarOps::leak_limbs
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: '&''s [Limb]'
    signature: 'pub fn leak_limbs<''s>(&self, s: &''s Scalar) -> &''s [Limb]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem::mul_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - _cpu
    argTypes:
    - '&Scalar<EA>'
    - '&Scalar<EB>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: ScalarOps::scalar_product
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem::mul_mont
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn scalar_product<EA: Encoding, EB: Encoding>(&self,a:
      &Scalar<EA>,b: &Scalar<EB>,_cpu: cpu::Features,) -> Scalar<<(EA, EB) as ProductEncoding>::Output>where(EA,
      EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: PublicScalarOps::n
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&PublicElem'
    signature: pub fn n(&self) -> &PublicElem<Unencoded>
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Scalar'
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: PublicScalarOps::scalar_as_elem
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Elem
    signature: 'pub fn scalar_as_elem(&self, a: &Scalar) -> Elem<Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:440,1
    - Dst: limbs_less_than_limbs_vartime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:441,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Elem<Unencoded>'
    - '&PublicElem<Unencoded>'
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 11
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: Modulus::elem_less_than_vartime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - into
    - limbs_less_than_limbs_vartime
    linkageType: ''
    returnType: bool
    signature: 'pub fn elem_less_than_vartime(&self, a: &Elem<Unencoded>, b: &PublicElem<Unencoded>)
      -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - cpu
    argTypes:
    - '&Scalar<Unencoded>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: PublicScalarOps::scalar_inv_to_mont_vartime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn scalar_inv_to_mont_vartime(&self,s: &Scalar<Unencoded>,cpu:
      cpu::Features,) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:466,1
    - Dst: Scalar::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - s
    - cpu
    argTypes:
    - '&Scalar<Unencoded>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: PrivateScalarOps::to_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Scalar::from
    - scalar_product
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn to_mont(&self, s: &Scalar<Unencoded>, cpu: cpu::Features)
      -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PrivateScalarOps::to_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - a
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: PrivateScalarOps::scalar_inv_to_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - PrivateScalarOps::to_mont
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn scalar_inv_to_mont(&self, a: &Scalar, cpu: cpu::Features)
      -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&PrivateKeyOps::point_mul_base'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:487,1
    - Dst: '&PrivateKeyOps::point_mul'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:488,1
    - Dst: '&PrivateKeyOps::point_sum'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ops
    - g_scalar
    - p_scalar
    - p_xy
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&Scalar'
    - '&Scalar'
    - '&(Elem<R>, Elem<R>)'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 490
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 490
    functionName: twin_mul_inefficient
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - '&PrivateKeyOps::point_mul'
    - '&PrivateKeyOps::point_mul_base'
    - '&PrivateKeyOps::point_sum'
    linkageType: ''
    returnType: Point
    signature: 'fn twin_mul_inefficient(ops: &PrivateKeyOps,g_scalar: &Scalar,p_scalar:
      &Scalar,p_xy: &(Elem<R>, Elem<R>),cpu: cpu::Features,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:495,1
    - Dst: limbs_reduce_once
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:497,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - elem
    argTypes:
    - '&Elem<Unencoded>'
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: Modulus::elem_reduced_to_scalar
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - into
    - limbs_reduce_once
    linkageType: ''
    returnType: Scalar
    signature: 'pub fn elem_reduced_to_scalar(&self, elem: &Elem<Unencoded>) -> Scalar<Unencoded>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&CommonOps::elem_squared'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:516,1
    - Dst: '&CommonOps::elem_square'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:518,1
    - Dst: '&CommonOps::elem_product'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ops
    - a
    - squarings
    - b
    - cpu
    argTypes:
    - '&CommonOps'
    - '&Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 521
      start: 508
    functionDepth: 11
    functionLinenumber: 508
    functionLinenumberEnd: 521
    functionName: elem_sqr_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - '&CommonOps::elem_square'
    - '&CommonOps::elem_product'
    - '&CommonOps::elem_squared'
    linkageType: ''
    returnType: Elem
    signature: 'fn elem_sqr_mul(ops: &CommonOps,a: &Elem<R>,squarings: LeakyWord,b:
      &Elem<R>,cpu: cpu::Features,) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&CommonOps::elem_square'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:533,1
    - Dst: '&CommonOps::elem_mul'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - ops
    - acc
    - squarings
    - b
    - cpu
    argTypes:
    - '&CommonOps'
    - '&mut Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 536
      start: 524
    functionDepth: 11
    functionLinenumber: 524
    functionLinenumberEnd: 536
    functionName: elem_sqr_mul_acc
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - '&CommonOps::elem_square'
    - '&CommonOps::elem_mul'
    linkageType: ''
    returnType: void
    signature: 'fn elem_sqr_mul_acc(ops: &CommonOps,acc: &mut Elem<R>,squarings: LeakyWord,b:
      &Elem<R>,cpu: cpu::Features,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - q
    - bytes
    argTypes:
    - '&Modulus<Q>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 544
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 544
    functionName: elem_parse_big_endian_fixed_consttime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 2
    functionsReached:
    - parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn elem_parse_big_endian_fixed_consttime(q: &Modulus<Q>,bytes:
      untrusted::Input,) -> Result<Elem<Unencoded>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - n
    - bytes
    argTypes:
    - '&Modulus<N>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 552
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 552
    functionName: scalar_parse_big_endian_fixed_consttime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_parse_big_endian_fixed_consttime(n: &Modulus<N>,bytes:
      untrusted::Input,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:560,1
    - Dst: Scalar::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:561,1
    - Dst: parse_big_endian_in_range_and_pad_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:562,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - n
    - allow_zero
    - bytes
    argTypes:
    - '&Modulus<N>'
    - AllowZero
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 569
      start: 555
    functionDepth: 12
    functionLinenumber: 555
    functionLinenumberEnd: 569
    functionName: scalar_parse_big_endian_variable
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Scalar::zero
    - Ok
    - parse_big_endian_in_range_and_pad_consttime
    - into
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_parse_big_endian_variable(n: &Modulus<N>,allow_zero:
      AllowZero,bytes: untrusted::Input,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:575,1
    - Dst: Scalar::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:576,1
    - Dst: parse_big_endian_and_pad_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:579,1
    - Dst: limbs_reduce_once
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:580,1
    - Dst: Result::unwrap_or_else
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:580,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - n
    - bytes
    argTypes:
    - '&Modulus<N>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 585
      start: 571
    functionDepth: 7
    functionLinenumber: 571
    functionLinenumberEnd: 585
    functionName: scalar_parse_big_endian_partially_reduced_variable_consttime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap_or_else
    - into
    - Ok
    - limbs_reduce_once
    - Scalar::zero
    - parse_big_endian_and_pad_consttime
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_parse_big_endian_partially_reduced_variable_consttime(n:
      &Modulus<N>,bytes: untrusted::Input,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:592,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:593,1
    - Dst: u8::bytes_len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:593,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:594,1
    - Dst: elem::Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:596,1
    - Dst: parse_big_endian_in_range_and_pad_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:597,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - m
    - bytes
    - allow_zero
    argTypes:
    - '&Modulus<M>'
    - untrusted::Input
    - AllowZero
    constantsTouched: []
    func_position:
      end: 604
      start: 587
    functionDepth: 12
    functionLinenumber: 587
    functionLinenumberEnd: 604
    functionName: parse_big_endian_fixed_consttime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 4
    functionsReached:
    - u8::bytes_len
    - into
    - '&[u8]::len'
    - Ok
    - elem::Elem::zero
    - parse_big_endian_in_range_and_pad_consttime
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn parse_big_endian_fixed_consttime<M>(m: &Modulus<M>,bytes: untrusted::Input,allow_zero:
      AllowZero,) -> Result<elem::Elem<M, Unencoded>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:643,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:643,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:644,1
    - Dst: add_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:645,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ops
    argTypes:
    - '&PublicScalarOps'
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 7
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: tests::q_minus_n_plus_n_equals_0_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - Elem::from
    - elem_modulus
    - add_assign
    linkageType: ''
    returnType: void
    signature: 'fn q_minus_n_plus_n_equals_0_test(ops: &PublicScalarOps)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q_minus_n_plus_n_equals_0_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 652
      start: 650
    functionDepth: 8
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionName: tests::p256_q_minus_n_plus_n_equals_0_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - q_minus_n_plus_n_equals_0_test
    linkageType: ''
    returnType: void
    signature: fn p256_q_minus_n_plus_n_equals_0_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: q_minus_n_plus_n_equals_0_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 657
      start: 655
    functionDepth: 8
    functionLinenumber: 655
    functionLinenumberEnd: 657
    functionName: tests::p384_q_minus_n_plus_n_equals_0_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - q_minus_n_plus_n_equals_0_test
    linkageType: ''
    returnType: void
    signature: fn p384_q_minus_n_plus_n_equals_0_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_add_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:661,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: tests::p256_elem_add_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_add_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_elem_add_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_add_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:669,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: tests::p384_elem_add_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_add_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_add_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:677,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:677,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:678,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:681,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:682,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:683,1
    - Dst: add_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:686,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:687,1
    - Dst: add_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:690,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:691,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&PublicScalarOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 695
      start: 675
    functionDepth: 14
    functionLinenumber: 675
    functionLinenumberEnd: 695
    functionName: tests::elem_add_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - consume_elem
    - assert_limbs_are_equal
    - cpu::features
    - Ok
    - elem_modulus
    - add_assign
    linkageType: ''
    returnType: void
    signature: 'fn elem_add_test(ops: &PublicScalarOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_sub_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:705,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 710
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 710
    functionName: tests::p384_elem_sub_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_sub_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_sub_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:717,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:717,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:718,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:721,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:722,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:723,1
    - Dst: Elem::<R>::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:725,1
    - Dst: elem_sub
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:727,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:728,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:729,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:730,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:733,1
    - Dst: Elem::<R>::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:735,1
    - Dst: elem_sub
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:737,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:738,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:739,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:740,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:743,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 3
    argNames:
    - ops
    - elem_sub
    - test_file
    argTypes:
    - '&''static CommonOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - test::File
    constantsTouched: []
    func_position:
      end: 747
      start: 712
    functionDepth: 14
    functionLinenumber: 712
    functionLinenumberEnd: 747
    functionName: tests::elem_sub_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Elem::<R>::zero
    - as_mut_ptr
    - consume_elem
    - as_ptr
    - assert_limbs_are_equal
    - cpu::features
    - '&''static CommonOps::elem_modulus'
    - elem_sub
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_sub_test(ops: &''static CommonOps,elem_sub: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_div_by_2_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:757,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 762
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 762
    functionName: tests::p384_elem_div_by_2_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_div_by_2_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_div_by_2_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:769,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:769,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:770,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:773,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:774,1
    - Dst: Elem::<R>::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:776,1
    - Dst: elem_div_by_2
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:778,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:778,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:778,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:780,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - ops
    - elem_div_by_2
    - test_file
    argTypes:
    - '&''static CommonOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - test::File
    constantsTouched: []
    func_position:
      end: 784
      start: 764
    functionDepth: 14
    functionLinenumber: 764
    functionLinenumberEnd: 784
    functionName: tests::elem_div_by_2_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Elem::<R>::zero
    - as_mut_ptr
    - elem_div_by_2
    - consume_elem
    - as_ptr
    - assert_limbs_are_equal
    - cpu::features
    - '&''static CommonOps::elem_modulus'
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_div_by_2_test(ops: &''static CommonOps,elem_div_by_2: unsafe
      extern "C" fn(r: *mut Limb, a: *const Limb),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_neg_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:793,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 798
    functionName: tests::p256_elem_neg_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_neg_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_elem_neg_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_neg_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:805,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 810
      start: 801
    functionDepth: 2
    functionLinenumber: 801
    functionLinenumberEnd: 810
    functionName: tests::p384_elem_neg_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - elem_neg_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_elem_neg_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:817,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:817,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:818,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:821,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:822,1
    - Dst: Elem::<R>::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:826,1
    - Dst: elem_neg
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:828,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:828,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:828,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:830,1
    - Dst: Elem::<R>::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:835,1
    - Dst: elem_neg
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:837,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:837,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:837,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:839,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 3
    argNames:
    - ops
    - elem_neg
    - test_file
    argTypes:
    - '&''static CommonOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - test::File
    constantsTouched: []
    func_position:
      end: 844
      start: 812
    functionDepth: 14
    functionLinenumber: 812
    functionLinenumberEnd: 844
    functionName: tests::elem_neg_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Elem::<R>::zero
    - as_mut_ptr
    - elem_neg
    - consume_elem
    - as_ptr
    - assert_limbs_are_equal
    - cpu::features
    - '&''static CommonOps::elem_modulus'
    - Ok
    linkageType: ''
    returnType: void
    signature: 'fn elem_neg_test(ops: &''static CommonOps,elem_neg: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:848,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 852
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 852
    functionName: tests::p256_elem_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - elem_mul_test
    linkageType: ''
    returnType: void
    signature: fn p256_elem_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_mul_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:856,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 860
    functionName: tests::p384_elem_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - elem_mul_test
    linkageType: ''
    returnType: void
    signature: fn p384_elem_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static CommonOps::elem_modulus'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:863,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:863,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:864,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:867,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:868,1
    - Dst: consume_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:869,1
    - Dst: elem_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:870,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:871,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&''static CommonOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 875
      start: 862
    functionDepth: 14
    functionLinenumber: 862
    functionLinenumberEnd: 875
    functionName: tests::elem_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - consume_elem
    - assert_limbs_are_equal
    - cpu::features
    - '&''static CommonOps::elem_modulus'
    - Ok
    - elem_mul
    linkageType: ''
    returnType: void
    signature: 'fn elem_mul_test(ops: &''static CommonOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mul_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:879,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 883
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 883
    functionName: tests::p256_scalar_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_mul_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_scalar_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_mul_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:887,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: tests::p384_scalar_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_mul_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_scalar_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:894,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:896,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:897,1
    - Dst: consume_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:899,1
    - Dst: consume_scalar_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:900,1
    - Dst: consume_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:901,1
    - Dst: '&ScalarOps::scalar_product'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:902,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:903,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&ScalarOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 907
      start: 893
    functionDepth: 7
    functionLinenumber: 893
    functionLinenumberEnd: 907
    functionName: tests::scalar_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - assert_limbs_are_equal
    - cpu::features
    - scalar_modulus
    - Ok
    - consume_scalar
    - '&ScalarOps::scalar_product'
    - consume_scalar_mont
    linkageType: ''
    returnType: void
    signature: 'fn scalar_mul_test(ops: &ScalarOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_square_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:914,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 919
    functionName: tests::p256_scalar_square_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - scalar_square_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_scalar_square_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:929,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:931,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:932,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:934,1
    - Dst: consume_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:935,1
    - Dst: consume_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:936,1
    - Dst: sqr_rep
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:945,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:945,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:945,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:947,1
    - Dst: '&ScalarOps::scalar_product'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:951,1
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:952,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 3
    argNames:
    - ops
    - sqr_rep
    - test_file
    argTypes:
    - '&ScalarOps'
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, rep: LeakyWord)'
    - test::File
    constantsTouched: []
    func_position:
      end: 957
      start: 924
    functionDepth: 7
    functionLinenumber: 924
    functionLinenumberEnd: 957
    functionName: tests::scalar_square_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - as_mut_ptr
    - as_ptr
    - assert_limbs_are_equal
    - cpu::features
    - scalar_modulus
    - Ok
    - consume_scalar
    - '&ScalarOps::scalar_product'
    - sqr_rep
    linkageType: ''
    returnType: void
    signature: 'fn scalar_square_test(ops: &ScalarOps,sqr_rep: unsafe extern "C" fn(r:
      *mut Limb, a: *const Limb, rep: LeakyWord),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_inv_to_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:962,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 7
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: tests::p256_scalar_inv_to_mont_zero_panic_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - scalar_inv_to_mont
    linkageType: ''
    returnType: void
    signature: fn p256_scalar_inv_to_mont_zero_panic_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_inv_to_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:968,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 7
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: tests::p384_scalar_inv_to_mont_zero_panic_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - scalar_inv_to_mont
    linkageType: ''
    returnType: void
    signature: fn p384_scalar_inv_to_mont_zero_panic_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_sum_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:973,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 977
    functionName: tests::p256_point_sum_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_sum_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_sum_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_sum_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:981,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 2
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: tests::p384_point_sum_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_sum_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p384_point_sum_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:988,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:990,1
    - Dst: consume_jacobian_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:993,1
    - Dst: consume_jacobian_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:994,1
    - Dst: consume_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:995,1
    - Dst: '&PrivateKeyOps::point_sum'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:997,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:998,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - ops
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 1002
      start: 987
    functionDepth: 7
    functionLinenumber: 987
    functionLinenumberEnd: 1002
    functionName: tests::point_sum_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - assert_point_actual_equals_expected
    - consume_point
    - cpu::features
    - Ok
    - consume_jacobian_point
    - '&PrivateKeyOps::point_sum'
    linkageType: ''
    returnType: void
    signature: 'fn point_sum_test(ops: &PrivateKeyOps, test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_sum_mixed_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1013,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1018
    functionName: tests::p256_point_sum_mixed_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_sum_mixed_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_sum_mixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1031,1
    - Dst: consume_jacobian_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1034,1
    - Dst: consume_affine_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1035,1
    - Dst: consume_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1036,1
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1038,1
    - Dst: point_add_affine
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1040,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1043,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 3
    argNames:
    - ops
    - point_add_affine
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - "unsafe extern \"C\" fn(\n            r: *mut Limb,   // [ops.num_limbs*3]\n\
      \            a: *const Limb, // [ops.num_limbs*3]\n            b: *const Limb,\
      \ // [ops.num_limbs*2]\n        )"
    - test::File
    constantsTouched: []
    func_position:
      end: 1047
      start: 1022
    functionDepth: 2
    functionLinenumber: 1022
    functionLinenumberEnd: 1047
    functionName: tests::point_sum_mixed_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Point::new_at_infinity
    - test::run
    - assert_point_actual_equals_expected
    - point_add_affine
    - as_mut_ptr
    - as_ptr
    - consume_point
    - Ok
    - consume_affine_point
    - consume_jacobian_point
    linkageType: ''
    returnType: void
    signature: 'fn point_sum_mixed_test(ops: &PrivateKeyOps,point_add_affine: unsafe
      extern "C" fn(r: *mut Limb,   // [ops.num_limbs*3]a: *const Limb, // [ops.num_limbs*3]b:
      *const Limb, // [ops.num_limbs*2]),test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_double_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1057,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1062
    functionName: tests::p256_point_double_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - point_double_test
    linkageType: ''
    returnType: void
    signature: fn p256_point_double_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_double_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1072,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1077
    functionName: tests::p384_point_double_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - point_double_test
    linkageType: ''
    returnType: void
    signature: fn p384_point_double_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1087,1
    - Dst: consume_jacobian_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1090,1
    - Dst: consume_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1091,1
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1093,1
    - Dst: point_double
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1095,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1095,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1095,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1098,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - ops
    - point_double
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - "unsafe extern \"C\" fn(\n            r: *mut Limb,   // [ops.num_limbs*3]\n\
      \            a: *const Limb, // [ops.num_limbs*3]\n        )"
    - test::File
    constantsTouched: []
    func_position:
      end: 1102
      start: 1079
    functionDepth: 2
    functionLinenumber: 1079
    functionLinenumberEnd: 1102
    functionName: tests::point_double_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Point::new_at_infinity
    - test::run
    - assert_point_actual_equals_expected
    - as_mut_ptr
    - as_ptr
    - consume_point
    - Ok
    - point_double
    - consume_jacobian_point
    linkageType: ''
    returnType: void
    signature: 'fn point_double_test(ops: &PrivateKeyOps,point_double: unsafe extern
      "C" fn(r: *mut Limb,   // [ops.num_limbs*3]a: *const Limb, // [ops.num_limbs*3]),test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1108,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1109,1
    - Dst: point_mul_base_tests
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1111,1
    - Dst: point_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1113,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1106
    functionDepth: 3
    functionLinenumber: 1106
    functionLinenumberEnd: 1116
    functionName: tests::p256_point_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_mul
    - test_vector_file
    - Elem::from
    - point_mul_base_tests
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1122,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1123,1
    - Dst: point_mul_base_tests
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1126,1
    - Dst: point_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1128,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1131
    functionName: tests::p384_point_mul_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_mul
    - test_vector_file
    - Elem::from
    - point_mul_base_tests
    linkageType: ''
    returnType: void
    signature: fn p384_point_mul_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_serialized_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1135,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1140
    functionName: tests::p256_point_mul_serialized_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - point_mul_serialized_test
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_serialized_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1147,1
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1149,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1150,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1151,1
    - Dst: consume_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1153,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1155,1
    - Dst: super::super::public_key::parse_uncompressed_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1156,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1159,1
    - Dst: Result::expect
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1156,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1163,1
    - Dst: '&PrivateKeyOps::point_mul'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1165,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1165,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1169,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1169,1
    - Dst: super::super::private_key::big_endian_affine_from_jacobian
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1170,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1174,1
    - Dst: Result::expect
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1170,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 3
    argNames:
    - priv_ops
    - pub_ops
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - '&PublicKeyOps'
    - test::File
    constantsTouched: []
    func_position:
      end: 1184
      start: 1142
    functionDepth: 7
    functionLinenumber: 1142
    functionLinenumberEnd: 1184
    functionName: tests::point_mul_serialized_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - super::super::private_key::big_endian_affine_from_jacobian
    - untrusted::Input::from
    - test::run
    - len
    - Option::consume_bytes
    - Result::expect
    - cpu::features
    - scalar_modulus
    - Ok
    - super::super::public_key::parse_uncompressed_point
    - '&PrivateKeyOps::point_mul'
    - elem_modulus
    - split_at_mut
    - consume_scalar
    - Some
    linkageType: ''
    returnType: void
    signature: 'fn point_mul_serialized_test(priv_ops: &PrivateKeyOps,pub_ops: &PublicKeyOps,test_file:
      test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_tests
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1188,1
    - Dst: point_mul_base
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1190,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1193
    functionName: tests::p256_point_mul_base_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - point_mul_base
    - point_mul_base_tests
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_base_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_tests
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1197,1
    - Dst: point_mul_base
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1199,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1202
    functionName: tests::p384_point_mul_base_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - point_mul_base
    - point_mul_base_tests
    linkageType: ''
    returnType: void
    signature: fn p384_point_mul_base_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1209,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1210,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1211,1
    - Dst: consume_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1213,1
    - Dst: consume_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1214,1
    - Dst: assert_point_actual_equals_expected
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1216,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 3
    argNames:
    - ops
    - f
    - test_file
    argTypes:
    - '&PrivateKeyOps'
    - impl Fn(&Scalar, cpu::Features) -> Point
    - test::File
    constantsTouched: []
    func_position:
      end: 1219
      start: 1204
    functionDepth: 7
    functionLinenumber: 1204
    functionLinenumberEnd: 1219
    functionName: tests::point_mul_base_tests
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::run
    - assert_point_actual_equals_expected
    - consume_point
    - cpu::features
    - scalar_modulus
    - Ok
    - consume_scalar
    linkageType: ''
    returnType: void
    signature: 'pub(super) fn point_mul_base_tests(ops: &PrivateKeyOps,f: impl Fn(&Scalar,
      cpu::Features) -> Point,test_file: test::File,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1228,1
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1231,1
    - Dst: point_x
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1232,1
    - Dst: point_y
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1233,1
    - Dst: point_z
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1234,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1237,1
    - Dst: assert_elems_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1238,1
    - Dst: '&PrivateKeyOps::elem_inverse_squared'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1241,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1242,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1244,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1245,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1246,1
    - Dst: Elem::convert
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1249,1
    - Dst: convert
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1250,1
    - Dst: assert_elems_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1252,1
    - Dst: assert_elems_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 3
    argNames:
    - ops
    - actual_point
    - expected_point
    argTypes:
    - '&PrivateKeyOps'
    - '&Point'
    - '&TestPoint<E>'
    constantsTouched: []
    func_position:
      end: 1256
      start: 1221
    functionDepth: 11
    functionLinenumber: 1221
    functionLinenumberEnd: 1256
    functionName: tests::assert_point_actual_equals_expected
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Elem::convert
    - '&PrivateKeyOps::elem_inverse_squared'
    - convert
    - point_z
    - cpu::features
    - elem_product
    - elem_modulus
    - assert_elems_are_equal
    - point_y
    - point_x
    - elem_squared
    - Elem::zero
    linkageType: ''
    returnType: void
    signature: 'fn assert_point_actual_equals_expected<E: Encoding>(ops: &PrivateKeyOps,actual_point:
      &Point,expected_point: &TestPoint<E>,) whereElem<R>: Convert<E>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1263,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1263,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1264,1
    - Dst: untrusted::Input::split
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1265,1
    - Dst: split(", ").collect::<Vec<&str>>
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1265,1
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1267,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1268,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1269,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - ops
    - test_case
    - name
    argTypes:
    - '&PrivateKeyOps'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1272
      start: 1258
    functionDepth: 7
    functionLinenumber: 1258
    functionLinenumberEnd: 1272
    functionName: tests::consume_jacobian_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - Point::new_at_infinity
    - consume_point_elem
    - untrusted::Input::split
    - cpu::features
    - elem_modulus
    - split(", ").collect::<Vec<&str>>
    linkageType: ''
    returnType: Point
    signature: 'fn consume_jacobian_point(ops: &PrivateKeyOps,test_case: &mut test::TestCase,name:
      &str,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1283,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1283,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1284,1
    - Dst: untrusted::Input::split
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1285,1
    - Dst: split(", ").collect::<Vec<&str>>
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1285,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1290,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 3
    argNames:
    - ops
    - test_case
    - name
    argTypes:
    - '&PrivateKeyOps'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1293
      start: 1278
    functionDepth: 7
    functionLinenumber: 1278
    functionLinenumberEnd: 1293
    functionName: tests::consume_affine_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - consume_point_elem
    - untrusted::Input::split
    - cpu::features
    - elem_modulus
    - split(", ").collect::<Vec<&str>>
    linkageType: ''
    returnType: AffinePoint
    signature: 'fn consume_affine_point(ops: &PrivateKeyOps,test_case: &mut test::TestCase,name:
      &str,) -> AffinePoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1296,1
    - Dst: test::from_hex
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1297,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1297,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1298,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1299,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1299,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 4
    argNames:
    - q
    - limbs_out
    - elems
    - i
    argTypes:
    - '&Modulus<Q>'
    - '&mut [Limb]'
    - '&[&str]'
    - usize
    constantsTouched: []
    func_position:
      end: 1302
      start: 1295
    functionDepth: 14
    functionLinenumber: 1295
    functionLinenumberEnd: 1302
    functionName: tests::consume_point_elem
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - copy_from_slice
    - Result::unwrap
    - elem_parse_big_endian_fixed_consttime
    - into
    - test::from_hex
    linkageType: ''
    returnType: void
    signature: 'fn consume_point_elem(q: &Modulus<Q>, limbs_out: &mut [Limb], elems:
      &[&str], i: usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::from_hex
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1316,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1316,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1317,1
    - Dst: elem_parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1319,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - q
    - elems
    - i
    argTypes:
    - '&Modulus<Q>'
    - '&[&str]'
    - usize
    constantsTouched: []
    func_position:
      end: 1326
      start: 1315
    functionDepth: 14
    functionLinenumber: 1315
    functionLinenumberEnd: 1326
    functionName: t::e::s::t::s::::::::c::o::n::s::u::m::e::_::p::o::i::n::t::consume_point_elem
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - test::from_hex
    - Result::unwrap
    - untrusted::Input::from
    - elem_parse_big_endian_fixed_consttime
    linkageType: ''
    returnType: Elem
    signature: 'fn consume_point_elem<E: Encoding>(q: &Modulus<Q>, elems: &[&str],
      i: usize) -> Elem<E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1314,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1314,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1328,1
    - Dst: untrusted::Input::split
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1332,1
    - Dst: split(", ").collect::<Vec<&str>>
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1332,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1334,1
    - Dst: consume_point_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1335,1
    - Dst: TestPoint::Affine
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - ops
    - test_case
    - name
    argTypes:
    - '&PrivateKeyOps'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1337
      start: 1309
    functionDepth: 15
    functionLinenumber: 1309
    functionLinenumberEnd: 1337
    functionName: tests::consume_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - consume_point_elem
    - untrusted::Input::split
    - cpu::features
    - TestPoint::Affine
    - elem_modulus
    - split(", ").collect::<Vec<&str>>
    linkageType: ''
    returnType: TestPoint
    signature: 'fn consume_point<E: Encoding>(ops: &PrivateKeyOps,test_case: &mut
      test::TestCase,name: &str,) -> TestPoint<E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_limbs_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - q
    - a
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<E>'
    - '&Elem<E>'
    constantsTouched: []
    func_position:
      end: 1341
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1341
    functionName: tests::assert_elems_are_equal
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - assert_limbs_are_equal
    linkageType: ''
    returnType: void
    signature: 'fn assert_elems_are_equal<E: Encoding>(q: &Modulus<Q>, a: &Elem<E>,
      b: &Elem<E>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1348,1
    - Dst: alloc::string::String::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1350,1
    - Dst: alloc::string::String::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1351,1
    - Dst: Result::push_str
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1355,1
    - Dst: Result::push_str
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - ops
    - actual
    - expected
    argTypes:
    - '&CommonOps'
    - '&[Limb; elem::NumLimbs::MAX]'
    - '&[Limb; elem::NumLimbs::MAX]'
    constantsTouched: []
    func_position:
      end: 1364
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1364
    functionName: tests::assert_limbs_are_equal
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - alloc::string::String::new
    - Result::push_str
    - into
    linkageType: ''
    returnType: void
    signature: 'fn assert_limbs_are_equal(ops: &CommonOps,actual: &[Limb; elem::NumLimbs::MAX],expected:
      &[Limb; elem::NumLimbs::MAX],)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1382,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1383,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1384,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - n
    - test_case
    - name
    argTypes:
    - '&Modulus<N>'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1385
      start: 1381
    functionDepth: 13
    functionLinenumber: 1381
    functionLinenumberEnd: 1385
    functionName: tests::consume_scalar
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - scalar_parse_big_endian_variable
    - Option::consume_bytes
    - Result::unwrap
    linkageType: ''
    returnType: Scalar
    signature: 'fn consume_scalar(n: &Modulus<N>, test_case: &mut test::TestCase,
      name: &str) -> Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1392,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1393,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1394,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops.rs:1394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - n
    - test_case
    - name
    argTypes:
    - '&Modulus<N>'
    - '&mut test::TestCase'
    - '&str'
    constantsTouched: []
    func_position:
      end: 1401
      start: 1387
    functionDepth: 13
    functionLinenumber: 1387
    functionLinenumberEnd: 1401
    functionName: tests::consume_scalar_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - scalar_parse_big_endian_variable
    - Option::consume_bytes
    - Result::unwrap
    linkageType: ''
    returnType: Scalar
    signature: 'fn consume_scalar_mont(n: &Modulus<N>,test_case: &mut test::TestCase,name:
      &str,) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:28,1
    - Dst: generate_private_scalar_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:29,1
    - Dst: '!::cpu'
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:29,1
    - Dst: scalar_from_big_endian_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ops
    - n
    - rng
    argTypes:
    - '&PrivateKeyOps'
    - '&Modulus<N>'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 3
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: random_scalar
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 0
    functionsReached:
    - len
    - scalar_from_big_endian_bytes
    - '!::cpu'
    - generate_private_scalar_bytes
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn random_scalar(ops: &PrivateKeyOps,n: &Modulus<N>,rng:
      &dyn rand::SecureRandom,) -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:68,1
    - Dst: check_scalar_big_endian_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:71,1
    - Dst: Result::is_err
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:71,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:78,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - ops
    - rng
    - out
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&dyn rand::SecureRandom'
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: generate_private_scalar_bytes
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 1
    functionsReached:
    - Result::is_err
    - Ok
    - '&dyn rand::SecureRandom::fill'
    - check_scalar_big_endian_bytes
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn generate_private_scalar_bytes(ops: &PrivateKeyOps,rng:
      &dyn rand::SecureRandom,out: &mut [u8],cpu: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_from_big_endian_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:91,1
    - Dst: Result::bytes_less_safe
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:91,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - n
    - private_key
    argTypes:
    - '&Modulus<N>'
    - '&ec::Seed'
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: private_key_as_scalar
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 1
    functionsReached:
    - scalar_from_big_endian_bytes
    - Result::bytes_less_safe
    - Result::unwrap
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn private_key_as_scalar(n: &Modulus<N>, private_key: &ec::Seed)
      -> Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:100,1
    - Dst: scalar_from_big_endian_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:101,1
    - Dst: Result::map
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ops
    - bytes
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: check_scalar_big_endian_bytes
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 1
    functionsReached:
    - scalar_from_big_endian_bytes
    - scalar_modulus
    - Result::map
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn check_scalar_big_endian_bytes(ops: &PrivateKeyOps,bytes:
      &[u8],cpu: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: scalar_parse_big_endian_fixed_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:128,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bytes
    argTypes:
    - '&Modulus<N>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 14
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: scalar_from_big_endian_bytes
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 3
    functionsReached:
    - scalar_parse_big_endian_fixed_consttime
    - untrusted::Input::from
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn scalar_from_big_endian_bytes(n: &Modulus<N>,bytes: &[u8],)
      -> Result<Scalar, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:137,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:138,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:140,1
    - Dst: private_key_as_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:141,1
    - Dst: '&PrivateKeyOps::point_mul_base'
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:142,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:144,1
    - Dst: big_endian_affine_from_jacobian
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:148,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 4
    argNames:
    - ops
    - public_out
    - my_private_key
    - cpu
    argTypes:
    - '&PrivateKeyOps'
    - '&mut [u8]'
    - '&ec::Seed'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 16
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: public_from_private
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 0
    functionsReached:
    - len
    - private_key_as_scalar
    - scalar_modulus
    - split_at_mut
    - '&PrivateKeyOps::point_mul_base'
    - elem_modulus
    - Some
    - big_endian_affine_from_jacobian
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn public_from_private(ops: &PrivateKeyOps,public_out:
      &mut [u8],my_private_key: &ec::Seed,cpu: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_z
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:156,1
    - Dst: point_x
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:164,1
    - Dst: point_y
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:165,1
    - Dst: '&PrivateKeyOps::elem_inverse_squared'
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:167,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:169,1
    - Dst: elem_squared
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:174,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:175,1
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:176,1
    - Dst: super::verify_affine_point_is_on_the_curve
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:182,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 3
    argNames:
    - ops
    - q
    - p
    argTypes:
    - '&PrivateKeyOps'
    - '&Modulus<Q>'
    - '&Point'
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 11
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: affine_from_jacobian
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 3
    functionsReached:
    - '&PrivateKeyOps::elem_inverse_squared'
    - super::verify_affine_point_is_on_the_curve
    - point_z
    - elem_product
    - Ok
    - point_y
    - point_x
    - elem_squared
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn affine_from_jacobian(ops: &PrivateKeyOps,q: &Modulus<Q>,p:
      &Point,) -> Result<(Elem<R>, Elem<R>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: affine_from_jacobian
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:194,1
    - Dst: elem_unencoded
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:195,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:196,1
    - Dst: '&PrivateKeyOps::leak_limbs'
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:196,1
    - Dst: elem_unencoded
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:198,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:199,1
    - Dst: '&PrivateKeyOps::leak_limbs'
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:199,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - ops
    - q
    - x_out
    - y_out
    - p
    argTypes:
    - '&PrivateKeyOps'
    - '&Modulus<Q>'
    - '&mut [u8]'
    - Option<&mut [u8]>
    - '&Point'
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 12
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: big_endian_affine_from_jacobian
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
    functionUses: 3
    functionsReached:
    - affine_from_jacobian
    - limb::big_endian_from_limbs
    - elem_unencoded
    - Ok
    - '&PrivateKeyOps::leak_limbs'
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn big_endian_affine_from_jacobian(ops: &PrivateKeyOps,q:
      &Modulus<Q>,x_out: &mut [u8],y_out: Option<&mut [u8]>,p: &Point,) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::read_all
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:38,1
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:40,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:42,1
    - Dst: '&PublicKeyOps::elem_parse'
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:47,1
    - Dst: '&PublicKeyOps::elem_parse'
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:48,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:49,1
    - Dst: super::verify_affine_point_is_on_the_curve
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:55,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - ops
    - q
    - input
    argTypes:
    - '&PublicKeyOps'
    - '&Modulus<Q>'
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 66
      start: 29
    functionDepth: 15
    functionLinenumber: 29
    functionLinenumberEnd: 66
    functionName: parse_uncompressed_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs
    functionUses: 2
    functionsReached:
    - '&PublicKeyOps::elem_parse'
    - untrusted::Input::read_all
    - untrusted::Input::read_byte
    - super::verify_affine_point_is_on_the_curve
    - Ok
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn parse_uncompressed_point(ops: &PublicKeyOps,q: &Modulus<Q>,input:
      untrusted::Input,) -> Result<(Elem<R>, Elem<R>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:76,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:77,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:78,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:82,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:84,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:85,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:86,1
    - Dst: public_key_ops_from_curve_name
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:88,1
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:89,1
    - Dst: parse_uncompressed_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:91,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 16
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: tests::parse_uncompressed_point_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - untrusted::Input::from
    - test::run
    - parse_uncompressed_point
    - Option::consume_bytes
    - public_key_ops_from_curve_name
    - cpu::features
    - Ok
    - elem_modulus
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn parse_uncompressed_point_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - curve_name
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: tests::public_key_ops_from_curve_name
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static PublicKeyOps'
    signature: 'fn public_key_ops_from_curve_name(curve_name: &str) -> &''static PublicKeyOps'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::suite_b::private_key::check_scalar_big_endian_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/curve.rs:29,1
    - Dst: ec::suite_b::private_key::generate_private_scalar_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/curve.rs:37,1
    - Dst: ec::suite_b::private_key::public_from_private
      Src: /src/td-shim/library/ring/src/ec/suite_b/curve.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 73
    functionName: suite_b_curve
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/curve.rs
    functionUses: 0
    functionsReached:
    - ec::suite_b::private_key::generate_private_scalar_bytes
    - ec::suite_b::private_key::public_from_private
    - ec::suite_b::private_key::check_scalar_big_endian_bytes
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:61,1
    - Dst: cpu
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 12
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - elem_sqr_mul
    - cpu
    linkageType: ''
    returnType: Elem
    signature: 'fn sqr_mul(q: &Modulus<Q>, a: &Elem<R>, squarings: LeakyWord, b: &Elem<R>)
      -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::elem_sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:66,1
    - Dst: cpu
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&mut Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 12
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - cpu
    - super::elem_sqr_mul_acc
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(q: &Modulus<Q>, a: &mut Elem<R>, squarings: LeakyWord,
      b: &Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:70,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:71,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:72,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:73,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:74,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:75,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:76,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:79,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:82,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:85,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:88,1
    - Dst: elem_square
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:91,1
    - Dst: elem_square
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 2
    argNames:
    - q
    - a
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 95
      start: 52
    functionDepth: 12
    functionLinenumber: 52
    functionLinenumberEnd: 95
    functionName: p256_elem_inv_squared
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - sqr_mul
    - sqr_mul_acc
    - elem_square
    linkageType: ''
    returnType: Elem
    signature: 'fn p256_elem_inv_squared(q: &Modulus<Q>, a: &Elem<R>) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:105,1
    - Dst: p256_point_mul_base
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:107,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:107,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g_scalar
    - _cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 110
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 110
    functionName: p256_point_mul_base_impl
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - Point::new_at_infinity
    - p256_point_mul_base
    - as_ptr
    linkageType: ''
    returnType: Point
    signature: 'fn p256_point_mul_base_impl(g_scalar: &Scalar, _cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_vartime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:155,1
    - Dst: point_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:156,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:156,1
    - Dst: point_sum
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - g_scalar
    - p_scalar
    - p_xy
    - cpu
    argTypes:
    - '&Scalar'
    - '&Scalar'
    - '&(Elem<R>, Elem<R>)'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 7
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: twin_mul_nistz256
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - point_mul_base_vartime
    - point_mul
    - point_sum
    - cpu::features
    linkageType: ''
    returnType: Point
    signature: 'fn twin_mul_nistz256(g_scalar: &Scalar,p_scalar: &Scalar,p_xy: &(Elem<R>,
      Elem<R>),cpu: cpu::Features,) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:170,1
    - Dst: p256_point_mul_base_vartime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:172,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:172,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - g_scalar
    - _cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: point_mul_base_vartime
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 2
    functionsReached:
    - as_mut_ptr
    - Point::new_at_infinity
    - p256_point_mul_base_vartime
    - as_ptr
    linkageType: ''
    returnType: Point
    signature: 'fn point_mul_base_vartime(g_scalar: &Scalar, _cpu: cpu::Features)
      -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'super::

        elem::binary_op'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Scalar<R>'
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op'
    linkageType: ''
    returnType: Scalar
    signature: 'fn mul(a: &Scalar<R>, b: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scalar::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:204,1
    - Dst: p256_scalar_sqr_rep_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:205,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:205,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 4
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - p256_scalar_sqr_rep_mont
    - Scalar::zero
    - as_ptr
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr(a: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scalar::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:212,1
    - Dst: p256_scalar_sqr_rep_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:213,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:213,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:213,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - a
    - squarings
    - b
    argTypes:
    - '&Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 11
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - p256_scalar_sqr_rep_mont
    - as_mut_ptr
    - as_ptr
    - Scalar::zero
    - mul
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr_mul(a: &Scalar<R>, squarings: LeakyWord, b: &Scalar<R>) ->
      Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p256_scalar_sqr_rep_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:220,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:220,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:220,1
    - Dst: 'super::

        elem::binary_op_assign'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - acc
    - squarings
    - b
    argTypes:
    - '&mut Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - p256_scalar_sqr_rep_mont
    - 'super::

      elem::binary_op_assign'
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(acc: &mut Scalar<R>, squarings: LeakyWord, b: &Scalar<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:226,1
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:227,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:228,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:229,1
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:231,1
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:232,1
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:233,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:235,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:236,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:237,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:238,1
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:239,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:240,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:241,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:242,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:243,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:244,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:246,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:247,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:248,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:251,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:254,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:261,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:262,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:263,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:264,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:265,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:266,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:267,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:268,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:269,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:270,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:271,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:272,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:273,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:274,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:275,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:276,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:277,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:278,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 188
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - Scalar<R>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 282
      start: 187
    functionDepth: 11
    functionLinenumber: 187
    functionLinenumberEnd: 282
    functionName: p256_scalar_inv_to_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - sqr_mul
    - sqr_mul_acc
    - mul
    - sqr
    linkageType: ''
    returnType: Scalar
    signature: 'fn p256_scalar_inv_to_mont(a: Scalar<R>, _cpu: cpu::Features) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: point_mul_base_tests
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:328,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 15
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: tests::p256_point_mul_base_vartime_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
    functionUses: 0
    functionsReached:
    - test_vector_file
    - point_mul_base_tests
    linkageType: ''
    returnType: void
    signature: fn p256_point_mul_base_vartime_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:61,1
    - Dst: cpu
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 12
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - elem_sqr_mul
    - cpu
    linkageType: ''
    returnType: Elem
    signature: 'fn sqr_mul(q: &Modulus<Q>, a: &Elem<R>, squarings: LeakyWord, b: &Elem<R>)
      -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::elem_sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:66,1
    - Dst: cpu
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - q
    - a
    - squarings
    - b
    argTypes:
    - '&Modulus<Q>'
    - '&mut Elem<R>'
    - LeakyWord
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 12
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - cpu
    - super::elem_sqr_mul_acc
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(q: &Modulus<Q>, a: &mut Elem<R>, squarings: LeakyWord,
      b: &Elem<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:70,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:71,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:72,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:73,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:74,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:75,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:77,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:79,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:82,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:90,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:93,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:94,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:98,1
    - Dst: elem_square
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:102,1
    - Dst: elem_square
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 2
    argNames:
    - q
    - a
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 106
      start: 51
    functionDepth: 12
    functionLinenumber: 51
    functionLinenumberEnd: 106
    functionName: p384_elem_inv_squared
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - sqr_mul
    - sqr_mul_acc
    - elem_square
    linkageType: ''
    returnType: Elem
    signature: 'fn p384_elem_inv_squared(q: &Modulus<Q>, a: &Elem<R>) -> Elem<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:110,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:110,1
    - Dst: point_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - a
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: p384_point_mul_base_impl
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - point_mul
    - Elem::from
    linkageType: ''
    returnType: Point
    signature: 'fn p384_point_mul_base_impl(a: &Scalar, cpu: cpu::Features) -> Point'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'super::

        elem::binary_op'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&Scalar<R>'
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op'
    linkageType: ''
    returnType: Scalar
    signature: 'fn mul(a: &Scalar<R>, b: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: 'super::

        elem::binary_op'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op'
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr(a: &Scalar<R>) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unary_op_from_binary_op_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - '&mut Scalar<R>'
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mut
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - unary_op_from_binary_op_assign
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mut(a: &mut Scalar<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:169,1
    - Dst: sqr_mut
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:171,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - a
    - squarings
    - b
    argTypes:
    - '&Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 11
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - mul
    - sqr_mut
    - sqr
    linkageType: ''
    returnType: Scalar
    signature: 'fn sqr_mul(a: &Scalar<R>, squarings: LeakyWord, b: &Scalar<R>) ->
      Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sqr_mut
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:180,1
    - Dst: 'super::

        elem::binary_op_assign'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - acc
    - squarings
    - b
    argTypes:
    - '&mut Scalar<R>'
    - LeakyWord
    - '&Scalar<R>'
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - 'super::

      elem::binary_op_assign'
    - sqr_mut
    linkageType: ''
    returnType: void
    signature: 'fn sqr_mul_acc(acc: &mut Scalar<R>, squarings: LeakyWord, b: &Scalar<R>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Scalar::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:196,1
    - Dst: sqr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:198,1
    - Dst: mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:200,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:203,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:204,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:205,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:207,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:209,1
    - Dst: sqr_mul
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:212,1
    - Dst: sqr_mul_acc
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:264,1
    - Dst: LeakyWord::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:264,1
    - Dst: usize::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 186
    argCount: 2
    argNames:
    - a
    - _cpu
    argTypes:
    - Scalar<R>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 268
      start: 143
    functionDepth: 11
    functionLinenumber: 143
    functionLinenumberEnd: 268
    functionName: p384_scalar_inv_to_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - usize::from
    - sqr
    - LeakyWord::from
    - sqr_mul_acc
    - sqr_mul
    - Scalar::zero
    - mul
    linkageType: ''
    returnType: Scalar
    signature: 'fn p384_scalar_inv_to_mont(a: Scalar<R>, _cpu: cpu::Features) -> Scalar<R>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: p384_elem_mul_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - r
    - a
    argTypes:
    - '*mut Limb'
    - '*const Limb'
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: p384_elem_sqr_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
    functionUses: 0
    functionsReached:
    - p384_elem_mul_mont
    linkageType: ''
    returnType: void
    signature: 'unsafe extern "C" fn p384_elem_sqr_mont(r: *mut Limb,   // [COMMON_OPS.num_limbs]a:
      *const Limb, // [COMMON_OPS.num_limbs])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: NumLimbs::into
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: usize
    signature: pub(super) const fn into(self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: core::array::from_fn
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:68,1
    - Dst: Limb::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&PublicElem<M, E>'
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: Elem::from
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 7
    functionsReached:
    - Limb::from
    - core::array::from_fn
    linkageType: ''
    returnType: Self
    signature: 'fn from(value: &PublicElem<M, E>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: Elem::zero
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 7
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: fn zero() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Elem::one
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - Self::zero
    linkageType: ''
    returnType: Self
    signature: pub fn one() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limbs_from_hex
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hex
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: PublicElem::from_hex
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 0
    functionsReached:
    - limbs_from_hex
    linkageType: ''
    returnType: Self
    signature: 'pub const fn from_hex(hex: &str) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: binary_op
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - f
    - a
    - b
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&Elem<M, EA>'
    - '&Elem<M, EB>'
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: mul_mont
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 7
    functionsReached:
    - binary_op
    linkageType: ''
    returnType: Elem
    signature: 'pub fn mul_mont<M, EA: Encoding, EB: Encoding>(f: unsafe extern "C"
      fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &Elem<M, EA>,b: &Elem<M,
      EB>,) -> Elem<M, <(EA, EB) as ProductEncoding>::Output>where(EA, EB): ProductEncoding,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:125,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:126,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:126,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:126,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - f
    - a
    - b
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&Elem<M, EA>'
    - '&Elem<M, EB>'
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: binary_op
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 4
    functionsReached:
    - as_mut_ptr
    - f
    - as_ptr
    - Elem::zero
    linkageType: ''
    returnType: Elem
    signature: 'pub fn binary_op<M, EA: Encoding, EB: Encoding, ER: Encoding>(f: unsafe
      extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &Elem<M, EA>,b:
      &Elem<M, EB>,) -> Elem<M, ER>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:137,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:137,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:137,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - f
    - a
    - b
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&mut Elem<M, EA>'
    - '&Elem<M, EB>'
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 5
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: binary_op_assign
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 4
    functionsReached:
    - as_mut_ptr
    - f
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'pub fn binary_op_assign<M, EA: Encoding, EB: Encoding>(f: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &mut Elem<M, EA>,b:
      &Elem<M, EB>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:146,1
    - Dst: f
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:147,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:147,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - '&Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 5
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: unary_op
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - as_mut_ptr
    - f
    - as_ptr
    - Elem::zero
    linkageType: ''
    returnType: Elem
    signature: 'pub fn unary_op<M, E: Encoding>(f: unsafe extern "C" fn(r: *mut Limb,
      a: *const Limb),a: &Elem<M, E>,) -> Elem<M, E>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:157,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:157,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb)'
    - '&mut Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: unary_op_assign
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - as_mut_ptr
    - f
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'pub fn unary_op_assign<M, E: Encoding>(f: unsafe extern "C" fn(r:
      *mut Limb, a: *const Limb),a: &mut Elem<M, E>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:166,1
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:166,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:166,1
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - f
    - a
    argTypes:
    - 'unsafe extern "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb)'
    - '&mut Elem<M, E>'
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: unary_op_from_binary_op_assign
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
    functionUses: 1
    functionsReached:
    - as_mut_ptr
    - f
    - as_ptr
    linkageType: ''
    returnType: void
    signature: 'pub fn unary_op_from_binary_op_assign<M, E: Encoding>(f: unsafe extern
      "C" fn(r: *mut Limb, a: *const Limb, b: *const Limb),a: &mut Elem<M, E>,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_scalar_
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:46,1
    - Dst: digest::Digest::as_ref
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - n
    - msg
    argTypes:
    - '&Modulus<N>'
    - digest::Digest
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: digest_scalar
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 0
    functionsReached:
    - digest_scalar_
    - digest::Digest::as_ref
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn digest_scalar(n: &Modulus<N>, msg: digest::Digest) ->
      Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest_scalar_
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - n
    - digest
    argTypes:
    - '&Modulus<N>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: digest_bytes_scalar
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 0
    functionsReached:
    - digest_scalar_
    linkageType: ''
    returnType: Scalar
    signature: 'pub(super) fn digest_bytes_scalar(n: &Modulus<N>, digest: &[u8]) ->
      Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bytes_len'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:57,1
    - Dst: Digest::len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:58,1
    - Dst: scalar_parse_big_endian_partially_reduced_variable_consttime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:64,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:64,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - n
    - digest
    argTypes:
    - '&Modulus<N>'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 8
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: digest_scalar_
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 2
    functionsReached:
    - untrusted::Input::from
    - '!::bytes_len'
    - Digest::len
    - Result::unwrap
    - scalar_parse_big_endian_partially_reduced_variable_consttime
    linkageType: ''
    returnType: Scalar
    signature: 'fn digest_scalar_(n: &Modulus<N>, digest: &[u8]) -> Scalar'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:76,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:77,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:78,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:82,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:83,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:84,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:85,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:87,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:87,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:96,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:102,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:105,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:102,1
    - Dst: digest_bytes_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:109,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 13
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: tests::test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - untrusted::Input::from
    - test::run
    - Option::consume_bytes
    - scalar_parse_big_endian_variable
    - Result::unwrap
    - String::as_str
    - cpu::features
    - scalar_modulus
    - digest_bytes_scalar
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:59,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:63,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:63,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:67,1
    - Dst: super::digest_scalar::digest_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:68,1
    - Dst: EcdsaVerificationAlgorithm::verify_digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 72
      start: 53
    functionDepth: 7
    functionLinenumber: 53
    functionLinenumberEnd: 72
    functionName: EcdsaVerificationAlgorithm::verify
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - EcdsaVerificationAlgorithm::verify_digest
    - untrusted::Input::as_slice_less_safe
    - super::digest_scalar::digest_scalar
    - cpu::features
    - scalar_modulus
    - digest::digest
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: untrusted::Input,msg: untrusted::Input,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:151,1
    - Dst: elem_unencoded
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:152,1
    - Dst: elems_are_equal
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:153,1
    - Dst: LimbMask::leak
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - q
    - r
    - x
    - z2
    argTypes:
    - '&Modulus<Q>'
    - '&Elem<Unencoded>'
    - '&Elem<R>'
    - '&Elem<R>'
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: E::c::d::s::a::V::e::r::i::f::i::c::a::t::i::o::n::A::l::g::o::r::i::t::h::m::::::::v::e::r::i::f::y::_::d::i::g::e::s::t::sig_r_equals_x
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - LimbMask::leak
    - elem_unencoded
    - elem_product
    - elems_are_equal
    linkageType: ''
    returnType: bool
    signature: 'fn sig_r_equals_x(q: &Modulus<Q>, r: &Elem<Unencoded>, x: &Elem<R>,
      z2: &Elem<R>) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:83,1
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:89,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:90,1
    - Dst: parse_uncompressed_point
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:109,1
    - Dst: Result::read_all
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:111,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:117,1
    - Dst: scalar_parse_big_endian_variable
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:118,1
    - Dst: scalar_inv_to_mont_vartime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:122,1
    - Dst: scalar_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:126,1
    - Dst: scalar_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:127,1
    - Dst: verify_jacobian_point_is_on_the_curve
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:141,1
    - Dst: point_x
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:149,1
    - Dst: scalar_as_elem
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:155,1
    - Dst: sig_r_equals_x
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:156,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:157,1
    - Dst: elem_less_than_vartime
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:159,1
    - Dst: Elem::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:160,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:160,1
    - Dst: add_assign
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:161,1
    - Dst: sig_r_equals_x
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:162,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:163,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 102
    argCount: 3
    argNames:
    - public_key
    - e
    - signature
    argTypes:
    - untrusted::Input
    - Scalar
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 168
      start: 77
    functionDepth: 16
    functionLinenumber: 77
    functionLinenumberEnd: 168
    functionName: EcdsaVerificationAlgorithm::verify_digest
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 1
    functionsReached:
    - parse_uncompressed_point
    - scalar_parse_big_endian_variable
    - Elem::from
    - scalar_product
    - n
    - cpu::features
    - point_x
    - scalar_modulus
    - Result::read_all
    - sig_r_equals_x
    - Ok
    - elem_modulus
    - verify_jacobian_point_is_on_the_curve
    - scalar_as_elem
    - scalar_inv_to_mont_vartime
    - elem_less_than_vartime
    - add_assign
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn verify_digest(&self,public_key: untrusted::Input,e: Scalar,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static ScalarOps::scalar_bytes_len'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:177,1
    - Dst: untrusted::Input::read_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:178,1
    - Dst: untrusted::Input::read_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:179,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ops
    - input
    argTypes:
    - '&''static ScalarOps'
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: split_rs_fixed
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - '&''static ScalarOps::scalar_bytes_len'
    - Ok
    - untrusted::Input::read_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn split_rs_fixed<''a>(ops: &''static ScalarOps,input: &mut untrusted::Reader<''a>,)
      -> Result<(untrusted::Input<''a>, untrusted::Input<''a>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:187,1
    - Dst: der::positive_integer
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:188,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:188,1
    - Dst: der::positive_integer
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:189,1
    - Dst: big_endian_without_leading_zero_as_input
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:189,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - _ops
    - input
    argTypes:
    - '&''static ScalarOps'
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: split_rs_asn1
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - der::nested
    - Ok
    - big_endian_without_leading_zero_as_input
    - der::positive_integer
    linkageType: ''
    returnType: Result
    signature: 'fn split_rs_asn1<''a>(_ops: &''static ScalarOps,input: &mut untrusted::Reader<''a>,)
      -> Result<(untrusted::Input<''a>, untrusted::Input<''a>), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:285,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:286,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:287,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:291,1
    - Dst: Result::extend
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:295,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:295,1
    - Dst: Result::extend
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:296,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:296,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:300,1
    - Dst: Vec::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:303,1
    - Dst: Result::extend
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:304,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:304,1
    - Dst: Result::extend
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:305,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:305,1
    - Dst: Option::consume_optional_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:309,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:311,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:318,1
    - Dst: super::super::digest_scalar::digest_bytes_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:320,1
    - Dst: Result::verify_digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:321,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:322,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:324,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 284
    functionDepth: 16
    functionLinenumber: 284
    functionLinenumberEnd: 331
    functionName: tests::test_digest_based_test_vectors
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - super::super::digest_scalar::digest_bytes_scalar
    - test::run
    - Result::verify_digest
    - Option::consume_bytes
    - untrusted::Input::from
    - Result::extend
    - Vec::new
    - cpu::features
    - scalar_modulus
    - Ok
    - '&''static agreement::Algorithm::as_str'
    - Option::consume_optional_string
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test_digest_based_test_vectors()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&Self'
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: EcdsaSigningAlgorithm::eq
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &Self) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:86,1
    - Dst: ec::Seed::generate
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:87,1
    - Dst: Result::compute_public_key
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:88,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:89,1
    - Dst: pkcs8::wrap_key
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:89,1
    - Dst: Result::bytes_less_safe
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:91,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - alg
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 94
      start: 82
    functionDepth: 7
    functionLinenumber: 82
    functionLinenumberEnd: 94
    functionName: EcdsaKeyPair::generate_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 2
    functionsReached:
    - Result::as_ref
    - cpu::features
    - ec::Seed::generate
    - Ok
    - Result::compute_public_key
    - Result::bytes_less_safe
    - pkcs8::wrap_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_pkcs8(alg: &''static EcdsaSigningAlgorithm,rng: &dyn
      rand::SecureRandom,) -> Result<pkcs8::Document, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::suite_b::key_pair_from_pkcs8
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:111,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:114,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:115,1
    - Dst: Self::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - alg
    - pkcs8
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&[u8]'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 118
      start: 106
    functionDepth: 7
    functionLinenumber: 106
    functionLinenumberEnd: 118
    functionName: EcdsaKeyPair::from_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 4
    functionsReached:
    - ec::suite_b::key_pair_from_pkcs8
    - untrusted::Input::from
    - Self::new
    - cpu::features
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(alg: &''static EcdsaSigningAlgorithm,pkcs8: &[u8],rng:
      &dyn rand::SecureRandom,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ec::suite_b::key_pair_from_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:142,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:144,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:145,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:146,1
    - Dst: Self::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - alg
    - private_key
    - public_key
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - '&[u8]'
    - '&[u8]'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 7
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: EcdsaKeyPair::from_private_key_and_public_key
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 2
    functionsReached:
    - cpu::features
    - ec::suite_b::key_pair_from_bytes
    - untrusted::Input::from
    - Self::new
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_private_key_and_public_key(alg: &''static EcdsaSigningAlgorithm,private_key:
      &[u8],public_key: &[u8],rng: &dyn rand::SecureRandom,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:156,1
    - Dst: ec::KeyPair::split
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:158,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:159,1
    - Dst: private_key::private_key_as_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:160,1
    - Dst: to_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:161,1
    - Dst: NonceRandomKey::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:163,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:164,1
    - Dst: PublicKey
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - alg
    - key_pair
    - rng
    argTypes:
    - '&''static EcdsaSigningAlgorithm'
    - ec::KeyPair
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 170
      start: 151
    functionDepth: 16
    functionLinenumber: 151
    functionLinenumberEnd: 170
    functionName: EcdsaKeyPair::new
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - private_key::private_key_as_scalar
    - to_mont
    - ec::KeyPair::split
    - cpu::features
    - scalar_modulus
    - Ok
    - NonceRandomKey::new
    - PublicKey
    linkageType: ''
    returnType: Result
    signature: 'fn new(alg: &''static EcdsaSigningAlgorithm,key_pair: ec::KeyPair,rng:
      &dyn rand::SecureRandom,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:178,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:181,1
    - Dst: EcdsaKeyPair::sign_digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - rng
    - message
    argTypes:
    - '&dyn rand::SecureRandom'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 193
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 193
    functionName: EcdsaKeyPair::sign
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - digest::digest
    - EcdsaKeyPair::sign_digest
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign(&self,rng: &dyn rand::SecureRandom,message: &[u8],) ->
      Result<signature::Signature, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:202,1
    - Dst: EcdsaKeyPair::sign_digest
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:204,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rng
    - message
    argTypes:
    - '&dyn rand::SecureRandom'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 7
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: EcdsaKeyPair::sign_with_fixed_nonce_during_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - digest::digest
    - EcdsaKeyPair::sign_digest
    linkageType: ''
    returnType: Result
    signature: 'fn sign_with_fixed_nonce_during_test(&self,rng: &dyn rand::SecureRandom,message:
      &[u8],) -> Result<signature::Signature, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elem_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:243,1
    - Dst: scalar_modulus
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:244,1
    - Dst: private_key::random_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:249,1
    - Dst: scalar_inv_to_mont
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:250,1
    - Dst: point_mul_base
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:253,1
    - Dst: private_key::affine_from_jacobian
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:257,1
    - Dst: elem_unencoded
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:258,1
    - Dst: '!::elem_reduced_to_scalar'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:259,1
    - Dst: '!::is_zero'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:261,1
    - Dst: super::digest_scalar::digest_scalar
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:268,1
    - Dst: scalar_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:272,1
    - Dst: '!::add_assign'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:273,1
    - Dst: scalar_product
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:274,1
    - Dst: '!::is_zero'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:276,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:281,1
    - Dst: signature::Signature::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:281,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 75
    argCount: 3
    argNames:
    - h
    - rng
    - cpu
    argTypes:
    - digest::Digest
    - '&dyn rand::SecureRandom'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 287
      start: 209
    functionDepth: 18
    functionLinenumber: 209
    functionLinenumberEnd: 287
    functionName: EcdsaKeyPair::sign_digest
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 2
    functionsReached:
    - point_mul_base
    - private_key::affine_from_jacobian
    - scalar_product
    - '!::add_assign'
    - super::digest_scalar::digest_scalar
    - '!::is_zero'
    - scalar_inv_to_mont
    - elem_unencoded
    - scalar_modulus
    - Ok
    - elem_modulus
    - '!::elem_reduced_to_scalar'
    - signature::Signature::new
    - Err
    - private_key::random_scalar
    linkageType: ''
    returnType: Result
    signature: 'fn sign_digest(&self,h: digest::Digest,rng: &dyn rand::SecureRandom,cpu:
      cpu::Features,) -> Result<signature::Signature, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:300,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 4
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: NonceRandom::fmt
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - finish
    - debug_struct
    linkageType: ''
    returnType: core::fmt::Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> core::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: algorithm
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:313,1
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:314,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:317,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:318,1
    - Dst: Option::block_len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:326,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:326,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:328,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:329,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:332,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:332,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:334,1
    - Dst: '&mut [u8]::copy_from_slice'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:338,1
    - Dst: Nonce::as_ref
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:338,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 47
    argCount: 1
    argNames:
    - dest
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 341
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 341
    functionName: NonceRandom::fill_impl
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - Option::block_len
    - as_ref
    - Self::update
    - Nonce::as_ref
    - fill
    - Result::len
    - Ok
    - Self::finish
    - algorithm
    - '&mut [u8]::copy_from_slice'
    - digest::Context::new
    linkageType: ''
    returnType: Result
    signature: 'fn fill_impl(&self, dest: &mut [u8]) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:360,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:360,1
    - Dst: error::KeyRejected::rng_failed
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:361,1
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:363,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:364,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:365,1
    - Dst: '&ec::Seed::bytes_less_safe'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:365,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:366,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:366,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - alg
    - seed
    - rng
    argTypes:
    - '&EcdsaSigningAlgorithm'
    - '&ec::Seed'
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: NonceRandomKey::new
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 1
    functionsReached:
    - error::KeyRejected::rng_failed
    - '&ec::Seed::bytes_less_safe'
    - Result::map_err
    - Self::update
    - Self
    - Ok
    - '&dyn rand::SecureRandom::fill'
    - Self::finish
    - digest::Context::new
    linkageType: ''
    returnType: Result
    signature: 'fn new(alg: &EcdsaSigningAlgorithm,seed: &ec::Seed,rng: &dyn rand::SecureRandom,)
      -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: EcdsaKeyPair::public_key
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''static ScalarOps::scalar_bytes_len'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:390,1
    - Dst: PathBuf::split_at_mut
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:392,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:393,1
    - Dst: '&''static ScalarOps::leak_limbs'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:393,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:395,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:396,1
    - Dst: '&''static ScalarOps::leak_limbs'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - ops
    - r
    - s
    - out
    argTypes:
    - '&''static ScalarOps'
    - '&Scalar'
    - '&Scalar'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: format_rs_fixed
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - PathBuf::split_at_mut
    - '&''static ScalarOps::scalar_bytes_len'
    - limb::big_endian_from_limbs
    - '&''static ScalarOps::leak_limbs'
    - split_at_mut
    linkageType: ''
    returnType: usize
    signature: 'fn format_rs_fixed(ops: &''static ScalarOps, r: &Scalar, s: &Scalar,
      out: &mut [u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ScalarOps::scalar_bytes_len'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:406,1
    - Dst: limb::big_endian_from_limbs
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:407,1
    - Dst: '&ScalarOps::leak_limbs'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:407,1
    - Dst: Result::iter
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:414,1
    - Dst: Self::IntoIter::position
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:414,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:414,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:424,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:430,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:433,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:433,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 3
    argNames:
    - ops
    - a
    - out
    argTypes:
    - '&ScalarOps'
    - '&Scalar'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 436
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 436
    functionName: f::o::r::m::a::t::_::r::s::_::a::s::n::1::format_integer_tlv
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - '&ScalarOps::scalar_bytes_len'
    - len
    - copy_from_slice
    - limb::big_endian_from_limbs
    - Self::IntoIter::position
    - into
    - unwrap
    - Result::iter
    - '&ScalarOps::leak_limbs'
    linkageType: ''
    returnType: usize
    signature: 'fn format_integer_tlv(ops: &ScalarOps, a: &Scalar, out: &mut [u8])
      -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:438,1
    - Dst: format_integer_tlv
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:439,1
    - Dst: format_integer_tlv
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 82
    argCount: 4
    argNames:
    - ops
    - r
    - s
    - out
    argTypes:
    - '&''static ScalarOps'
    - '&Scalar'
    - '&Scalar'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 451
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 451
    functionName: format_rs_asn1
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - into
    - format_integer_tlv
    linkageType: ''
    returnType: usize
    signature: 'fn format_rs_asn1(ops: &''static ScalarOps, r: &Scalar, s: &Scalar,
      out: &mut [u8]) -> usize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:534,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:536,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:537,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:541,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:542,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:543,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:544,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:545,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:546,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:548,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:550,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:550,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:559,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:559,1
    - Dst: Result::sign_with_fixed_nonce_during_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:563,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:563,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 533
    functionDepth: 19
    functionLinenumber: 533
    functionLinenumberEnd: 572
    functionName: tests::signature_ecdsa_sign_fixed_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - Result::unwrap
    - String::as_str
    - rand::SystemRandom::new
    - Ok
    - Result::sign_with_fixed_nonce_during_test
    - '&''static agreement::Algorithm::as_str'
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_fixed_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:576,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:578,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:579,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:583,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:584,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:585,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:586,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:587,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:588,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:590,1
    - Dst: '&''static agreement::Algorithm::as_str'
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:592,1
    - Dst: String::as_str
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:592,1
    - Dst: signature::EcdsaKeyPair::from_private_key_and_public_key
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:601,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:601,1
    - Dst: Result::sign_with_fixed_nonce_during_test
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:605,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:605,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 575
    functionDepth: 19
    functionLinenumber: 575
    functionLinenumberEnd: 614
    functionName: tests::signature_ecdsa_sign_asn1_test
    functionSourceFile: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - Result::unwrap
    - String::as_str
    - rand::SystemRandom::new
    - Ok
    - Result::sign_with_fixed_nonce_during_test
    - '&''static agreement::Algorithm::as_str'
    - signature::EcdsaKeyPair::from_private_key_and_public_key
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn signature_ecdsa_sign_asn1_test()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs:27,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs:28,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs:29,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs:30,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - signature_r
    - public_key
    - msg
    argTypes:
    - '&[u8]'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 3
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: eddsa_digest
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs
    functionUses: 0
    functionsReached:
    - Self::update
    - digest::Context::new
    - Self::finish
    linkageType: ''
    returnType: digest::Digest
    signature: 'pub fn eddsa_digest(signature_r: &[u8], public_key: &[u8], msg: &[u8])
      -> digest::Digest'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bytes
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: x25519_check_private_key_bytes
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_check_private_key_bytes(bytes: &[u8],_: cpu::Features,)
      -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rng
    - out
    argTypes:
    - '&dyn rand::SecureRandom'
    - '&mut [u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: x25519_generate_private_key
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - '&dyn rand::SecureRandom::fill'
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_generate_private_key(rng: &dyn rand::SecureRandom,out: &mut
      [u8],_: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut [u8]::try_into'
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:65,1
    - Dst: Result::bytes_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:67,1
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:67,1
    - Dst: ops::MaskedScalar::from_bytes_masked
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:68,1
    - Dst: <cpu::Features as cpu::GetFeature<_>>::get_feature
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:74,1
    - Dst: x25519_neon
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:79,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:80,1
    - Dst: x25519_public_from_private_generic_masked
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:91,1
    - Dst: ops::has_fe25519_adx
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:94,1
    - Dst: bool::into
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:94,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - public_out
    - private_key
    - cpu_features
    argTypes:
    - '&mut [u8]'
    - '&ec::Seed'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 99
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 99
    functionName: x25519_public_from_private
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - <cpu::Features as cpu::GetFeature<_>>::get_feature
    - ops::has_fe25519_adx
    - bool::into
    - '&[u8]::try_into'
    - '&mut [u8]::try_into'
    - Ok
    - x25519_public_from_private_generic_masked
    - x25519_neon
    - Result::bytes_less_safe
    - ops::MaskedScalar::from_bytes_masked
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_public_from_private(public_out: &mut [u8],private_key: &ec::Seed,cpu_features:
      cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: <cpu::Features as cpu::GetFeature<_>>::get_feature
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:121,1
    - Dst: x25519_neon
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:122,1
    - Dst: ops::has_fe25519_adx
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:127,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:128,1
    - Dst: x25519_scalar_mult_adx
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:135,1
    - Dst: x25519_scalar_mult_generic_masked
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - out
    - scalar
    - point
    - cpu_features
    argTypes:
    - '&mut ops::EncodedPoint'
    - '&ops::MaskedScalar'
    - '&ops::EncodedPoint'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: x::2::5::5::1::9::_::e::c::d::h::scalar_mult
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - <cpu::Features as cpu::GetFeature<_>>::get_feature
    - ops::has_fe25519_adx
    - prefixed_extern
    - x25519_scalar_mult_adx
    - x25519_scalar_mult_generic_masked
    - x25519_neon
    linkageType: ''
    returnType: void
    signature: 'fn scalar_mult(out: &mut ops::EncodedPoint,scalar: &ops::MaskedScalar,point:
      &ops::EncodedPoint,#[allow(unused_variables)] cpu_features: cpu::Features,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&ec::Seed::bytes_less_safe'
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:107,1
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:107,1
    - Dst: ops::MaskedScalar::from_bytes_masked
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:108,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:109,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:109,1
    - Dst: scalar_mult
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:151,1
    - Dst: PathBuf::try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:152,1
    - Dst: bb::verify_slices_are_equal
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:159,1
    - Dst: is_ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:159,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:161,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 4
    argNames:
    - out
    - my_private_key
    - peer_public_key
    - cpu_features
    argTypes:
    - '&mut [u8]'
    - '&ec::Seed'
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 165
      start: 101
    functionDepth: 13
    functionLinenumber: 101
    functionLinenumberEnd: 165
    functionName: x25519_ecdh
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - '&ec::Seed::bytes_less_safe'
    - '&[u8]::try_into'
    - untrusted::Input::as_slice_less_safe
    - is_ok
    - try_into
    - bb::verify_slices_are_equal
    - PathBuf::try_into
    - Ok
    - scalar_mult
    - Err
    - ops::MaskedScalar::from_bytes_masked
    linkageType: ''
    returnType: Result
    signature: 'fn x25519_ecdh(out: &mut [u8],my_private_key: &ec::Seed,peer_public_key:
      untrusted::Input,cpu_features: cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_NEON
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - out
    - scalar
    - point
    - _cpu
    argTypes:
    - '&mut ops::EncodedPoint'
    - '&ops::MaskedScalar'
    - '&ops::EncodedPoint'
    - cpu::arm::Neon
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: x25519_neon
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 2
    functionsReached:
    - x25519_NEON
    linkageType: ''
    returnType: void
    signature: 'fn x25519_neon(out: &mut ops::EncodedPoint,scalar: &ops::MaskedScalar,point:
      &ops::EncodedPoint,_cpu: cpu::arm::Neon,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:239,1
    - Dst: ec::Seed::from_bytes
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:242,1
    - Dst: Input::from
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:242,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:242,1
    - Dst: x25519_public_from_private
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:245,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 208
    functionDepth: 7
    functionLinenumber: 208
    functionLinenumberEnd: 248
    functionName: tests::test_x25519_public_from_private
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
    functionUses: 0
    functionsReached:
    - Input::from
    - x25519_public_from_private
    - Result::unwrap
    - ec::Seed::from_bytes
    - cpu::features
    linkageType: ''
    returnType: void
    signature: fn test_x25519_public_from_private()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: x25519_fe_neg
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: Elem::negate
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - x25519_fe_neg
    linkageType: ''
    returnType: void
    signature: fn negate(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:79,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:80,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:81,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:82,1
    - Dst: x25519_ge_scalarmult_base
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:88,1
    - Dst: has_fe25519_adx
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:88,1
    - Dst: bool::into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - scalar
    - cpu
    argTypes:
    - '&Scalar'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: ExtPoint::from_scalarmult_base
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - x25519_ge_scalarmult_base
    - bool::into
    - has_fe25519_adx
    - Elem::zero
    linkageType: ''
    returnType: Self
    signature: 'pub(super) fn from_scalarmult_base(scalar: &Scalar, cpu: cpu::Features)
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:95,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:96,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:97,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:98,1
    - Dst: Result::from
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:101,1
    - Dst: x25519_ge_frombytes_vartime
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:101,1
    - Dst: Self::map
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - encoded
    argTypes:
    - '&EncodedPoint'
    constantsTouched: []
    func_position:
      end: 102
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 102
    functionName: ExtPoint::from_encoded_point_vartime
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - x25519_ge_frombytes_vartime
    - Self::map
    - Result::from
    - Elem::zero
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_encoded_point_vartime(encoded: &EncodedPoint) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_point
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: ExtPoint::into_encoded_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - encode_point
    linkageType: ''
    returnType: EncodedPoint
    signature: 'pub(super) fn into_encoded_point(self, cpu_features: cpu::Features)
      -> EncodedPoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: negate
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:109,1
    - Dst: negate
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ExtPoint::invert_vartime
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - negate
    linkageType: ''
    returnType: void
    signature: pub(super) fn invert_vartime(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_point
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: Point::into_encoded_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 0
    functionsReached:
    - encode_point
    linkageType: ''
    returnType: EncodedPoint
    signature: 'pub(super) fn into_encoded_point(self, cpu_features: cpu::Features)
      -> EncodedPoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:140,1
    - Dst: x25519_fe_invert
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:141,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:143,1
    - Dst: x25519_fe_mul_ttt
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:144,1
    - Dst: Elem::zero
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:146,1
    - Dst: x25519_fe_mul_ttt
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:147,1
    - Dst: x25519_fe_tobytes
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:148,1
    - Dst: x25519_fe_isnegative
      Src: /src/td-shim/library/ring/src/ec/curve25519/ops.rs:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 4
    argNames:
    - x
    - y
    - z
    - _cpu_features
    argTypes:
    - Elem<T>
    - Elem<T>
    - Elem<T>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 158
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 158
    functionName: encode_point
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 2
    functionsReached:
    - x25519_fe_isnegative
    - x25519_fe_invert
    - x25519_fe_mul_ttt
    - x25519_fe_tobytes
    - Elem::zero
    linkageType: ''
    returnType: EncodedPoint
    signature: 'fn encode_point(x: Elem<T>, y: Elem<T>, z: Elem<T>, _cpu_features:
      cpu::Features) -> EncodedPoint'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - cpu
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: has_fe25519_adx
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'pub(super) fn has_fe25519_adx(cpu: cpu::Features) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:33,1
    - Dst: slice::as_chunks
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:36,1
    - Dst: array::from_fn
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:39,1
    - Dst: limb::Limb::from_le_bytes
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:39,1
    - Dst: limb::verify_limbs_less_than_limbs_leak_bit
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:40,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:42,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; SCALAR_LEN]'
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 11
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: Scalar::from_bytes_checked
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs
    functionUses: 0
    functionsReached:
    - slice::as_chunks
    - map
    - limb::verify_limbs_less_than_limbs_leak_bit
    - array::from_fn
    - Self
    - limb::Limb::from_le_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_bytes_checked(bytes: [u8; SCALAR_LEN]) -> Result<Self,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:51,1
    - Dst: Digest::as_ref
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:51,1
    - Dst: x25519_sc_reduce
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:52,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:53,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:53,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - digest
    argTypes:
    - digest::Digest
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 3
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: Scalar::from_sha512_digest_reduced
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs
    functionUses: 0
    functionsReached:
    - Digest::as_ref
    - copy_from_slice
    - Self
    - unwrap
    - try_into
    - x25519_sc_reduce
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_sha512_digest_reduced(digest: digest::Digest) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:65,1
    - Dst: x25519_sc_mask
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bytes
    argTypes:
    - '[u8; SCALAR_LEN]'
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: MaskedScalar::from_bytes_masked
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs
    functionUses: 2
    functionsReached:
    - Self
    - x25519_sc_mask
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_bytes_masked(bytes: [u8; SCALAR_LEN]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames: []
    argTypes:
    - MaskedScalar
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: Scalar::from
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(MaskedScalar(scalar): MaskedScalar) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 26
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 26
    functionName: EdDSAParameters::fmt
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:43,1
    - Dst: Result::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:45,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:45,1
    - Dst: Result::read_all
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:46,1
    - Dst: untrusted::Input::read_bytes
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:47,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:47,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:47,1
    - Dst: untrusted::Input::read_bytes
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:51,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:51,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:51,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:55,1
    - Dst: Scalar::from_bytes_checked
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:58,1
    - Dst: ExtPoint::from_encoded_point_vartime
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:60,1
    - Dst: invert_vartime
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:61,1
    - Dst: super::eddsa_digest
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:63,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:63,1
    - Dst: Scalar::from_sha512_digest_reduced
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:64,1
    - Dst: Point::new_at_infinity
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:66,1
    - Dst: x25519_ge_double_scalarmult_vartime
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:67,1
    - Dst: Result::into_encoded_point
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:68,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:70,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 73
      start: 37
    functionDepth: 12
    functionLinenumber: 37
    functionLinenumberEnd: 73
    functionName: EdDSAParameters::verify
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs
    functionUses: 0
    functionsReached:
    - Scalar::from_sha512_digest_reduced
    - Point::new_at_infinity
    - Result::into_encoded_point
    - super::eddsa_digest
    - Scalar::from_bytes_checked
    - ExtPoint::from_encoded_point_vartime
    - invert_vartime
    - untrusted::Input::as_slice_less_safe
    - cpu::features
    - try_into
    - Result::read_all
    - untrusted::Input::read_bytes
    - as_slice_less_safe
    - Ok
    - x25519_ge_double_scalarmult_vartime
    - Err
    - Result::as_slice_less_safe
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: untrusted::Input,msg: untrusted::Input,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:52,1
    - Dst: rand::generate
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:53,1
    - Dst: expose
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:53,1
    - Dst: Self::from_seed_
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:54,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:55,1
    - Dst: pkcs8::wrap_key
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:55,1
    - Dst: Self::public_key
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:58,1
    - Dst: Result::as_ref
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - rng
    argTypes:
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 11
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: Ed25519KeyPair::generate_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 2
    functionsReached:
    - Result::as_ref
    - rand::generate
    - expose
    - cpu::features
    - Ok
    - Self::from_seed_
    - pkcs8::wrap_key
    - Self::public_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn generate_pkcs8(rng: &dyn rand::SecureRandom,) -> Result<pkcs8::Document,
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::Version::V2Only
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:82,1
    - Dst: unwrap_pkcs8
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:85,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:85,1
    - Dst: Self::from_seed_and_public_key
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:86,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:87,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:88,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: Ed25519KeyPair::from_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 3
    functionsReached:
    - untrusted::Input::from
    - Result::unwrap
    - pkcs8::Version::V2Only
    - unwrap_pkcs8
    - as_slice_less_safe
    - Self::from_seed_and_public_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(pkcs8: &[u8]) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::Version::V1OrV2
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:112,1
    - Dst: unwrap_pkcs8
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:115,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:115,1
    - Dst: Self::from_seed_and_public_key
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:117,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:118,1
    - Dst: Result::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:119,1
    - Dst: Self::from_seed_unchecked
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:122,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: Ed25519KeyPair::from_pkcs8_maybe_unchecked
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached:
    - untrusted::Input::from
    - Self::from_seed_unchecked
    - as_slice_less_safe
    - unwrap_pkcs8
    - pkcs8::Version::V1OrV2
    - Result::as_slice_less_safe
    - Self::from_seed_and_public_key
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8_maybe_unchecked(pkcs8: &[u8]) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::from_seed_unchecked
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:140,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:145,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:146,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:146,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:146,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:147,1
    - Dst: error::KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:149,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:151,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - seed
    - public_key
    argTypes:
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: Ed25519KeyPair::from_seed_and_public_key
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 1
    functionsReached:
    - len
    - as_ref
    - error::KeyRejected::inconsistent_components
    - Result::len
    - error::KeyRejected::invalid_encoding
    - Ok
    - Self::from_seed_unchecked
    - Err
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_seed_and_public_key(seed: &[u8],public_key: &[u8],) ->
      Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:167,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:167,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:169,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:170,1
    - Dst: Self::from_seed_
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:170,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - seed
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 7
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: Ed25519KeyPair::from_seed_unchecked
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached:
    - map_err
    - '&[u8]::try_into'
    - cpu::features
    - error::KeyRejected::invalid_encoding
    - Ok
    - Self::from_seed_
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_seed_unchecked(seed: &[u8]) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:174,1
    - Dst: Vec::as_ref
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:175,1
    - Dst: '&[u8]::split_at'
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:175,1
    - Dst: MaskedScalar::from_bytes_masked
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: usize::try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: Self::into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:178,1
    - Dst: ExtPoint::from_scalarmult_base
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:180,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:184,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:184,1
    - Dst: PublicKey
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:185,1
    - Dst: into_encoded_point
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - seed
    - cpu_features
    argTypes:
    - '&Seed'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: Ed25519KeyPair::from_seed_
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached:
    - ExtPoint::from_scalarmult_base
    - Vec::as_ref
    - into_encoded_point
    - PublicKey
    - unwrap
    - usize::try_into
    - try_into
    - Self::into
    - MaskedScalar::from_bytes_masked
    - '&[u8]::split_at'
    - digest::digest
    linkageType: ''
    returnType: Self
    signature: 'fn from_seed_(seed: &Seed, cpu_features: cpu::Features) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:191,1
    - Dst: signature::Signature::new
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:192,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:193,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:202,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:203,1
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:205,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:206,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:207,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:208,1
    - Dst: Scalar::from_sha512_digest_reduced
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:210,1
    - Dst: ExtPoint::from_scalarmult_base
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:212,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:213,1
    - Dst: Result::into_encoded_point
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:213,1
    - Dst: super::eddsa_digest
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:214,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:214,1
    - Dst: Scalar::from_sha512_digest_reduced
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:215,1
    - Dst: x25519_sc_muladd
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:217,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:218,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - msg
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 227
      start: 190
    functionDepth: 7
    functionLinenumber: 190
    functionLinenumberEnd: 227
    functionName: Ed25519KeyPair::sign
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached:
    - ExtPoint::from_scalarmult_base
    - Scalar::from_sha512_digest_reduced
    - as_ref
    - Result::into_encoded_point
    - copy_from_slice
    - super::eddsa_digest
    - Self::update
    - unwrap
    - prefixed_extern
    - cpu::features
    - try_into
    - split_at_mut
    - Self::finish
    - x25519_sc_muladd
    - signature::Signature::new
    - digest::Context::new
    linkageType: ''
    returnType: signature::Signature
    signature: 'pub fn sign(&self, msg: &[u8]) -> signature::Signature'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: Ed25519KeyPair::public_key
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&Self::PublicKey'
    signature: fn public_key(&self) -> &Self::PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::unwrap_key
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:253,1
    - Dst: Result::read_all
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:254,1
    - Dst: der::expect_tag_and_get_value
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:256,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:254,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:258,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - version
    - input
    argTypes:
    - pkcs8::Version
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 260
      start: 249
    functionDepth: 7
    functionLinenumber: 249
    functionLinenumberEnd: 260
    functionName: unwrap_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
    functionUses: 2
    functionsReached:
    - map_err
    - der::expect_tag_and_get_value
    - pkcs8::unwrap_key
    - error::KeyRejected::invalid_encoding
    - Result::read_all
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn unwrap_pkcs8(version: pkcs8::Version,input: untrusted::Input,)
      -> Result<(untrusted::Input, Option<untrusted::Input>), error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: from_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/ptr.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '*mut T'
    signature: 'pub fn from_mut<T: ?Sized>(r: &mut T) -> *mut T'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - r
    argTypes:
    - '&T'
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: from_ref
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/ptr.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '*const T'
    signature: 'pub const fn from_ref<T: ?Sized>(r: &T) -> *const T'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:39,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:40,1
    - Dst: '&[u8]::split_at'
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - slice
    - i
    argTypes:
    - '&[T]'
    - usize
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: split_at_checked
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::len'
    - '&[u8]::split_at'
    - Some
    linkageType: ''
    returnType: Option
    signature: 'pub fn split_at_checked<T>(slice: &[T], i: usize) -> Option<(&[T],
      &[T])>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:51,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:52,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:53,1
    - Dst: ok
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:53,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/polyfill/slice.rs:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&mut [T]'
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 4
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: split_first_chunk_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice.rs
    functionUses: 1
    functionsReached:
    - map
    - '&[u8]::split_at_mut'
    - try_into
    - '&[u8]::len'
    - ok
    linkageType: ''
    returnType: Option
    signature: 'pub fn split_first_chunk_mut<T, const N: usize>(slice: &mut [T],)
      -> Option<(&mut [T; N], &mut [T])>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:50,1
    - Dst: cast
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: Ref::as_ptr
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached:
    - cast
    - as_ptr
    linkageType: ''
    returnType: '*const c_char'
    signature: pub fn as_ptr(&self) -> *const c_char
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: Ref::from_bytes_with_nul_unchecked
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'const unsafe fn from_bytes_with_nul_unchecked(value: &''static [u8])
      -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_from_bytes_with_nul
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: unwrap_const_from_bytes_with_nul
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached:
    - const_from_bytes_with_nul
    linkageType: ''
    returnType: Ref
    signature: 'pub const fn unwrap_const_from_bytes_with_nul(value: &''static [u8])
      -> Ref'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - value
    - needle
    argTypes:
    - '&[u8]'
    - '&u8'
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: c::o::n::s::t::_::f::r::o::m::_::b::y::t::e::s::_::w::i::t::h::_::n::u::l::const_contains
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/cstr.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'const fn const_contains(mut value: &[u8], needle: &u8) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: const_contains
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:82,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:87,1
    - Dst: Ref::from_bytes_with_nul_unchecked
      Src: /src/td-shim/library/ring/src/polyfill/cstr.rs:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''static [u8]'
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: const_from_bytes_with_nul
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/cstr.rs
    functionUses: 1
    functionsReached:
    - Ref::from_bytes_with_nul_unchecked
    - Some
    - const_contains
    linkageType: ''
    returnType: Option
    signature: 'const fn const_from_bytes_with_nul(value: &''static [u8]) -> Option<Ref>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl Fn([I; 4]) -> O
    constantsTouched: []
    func_position:
      end: 28
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 28
    functionName: '[I; 12]::array_split_map'
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_split_map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[O; 3]'
    signature: 'fn array_split_map(self, f: impl Fn([I; 4]) -> O) -> [O; 3]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl Fn([I; 8]) -> O
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: '[I; 16]::array_split_map'
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_split_map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[O; 2]'
    signature: 'fn array_split_map(self, f: impl Fn([I; 8]) -> O) -> [O; 2]'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl Fn([I; 4]) -> O
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: '[I; 32]::array_split_map'
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_split_map.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '[O; 8]'
    signature: 'fn array_split_map(self, f: impl Fn([I; 4]) -> O) -> [O; 8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_exact_size_iterator
      Src: /src/td-shim/library/ring/src/polyfill/test.rs:6,1
    - Dst: clone
      Src: /src/td-shim/library/ring/src/polyfill/test.rs:6,1
    - Dst: assert_exact_size_iterator
      Src: /src/td-shim/library/ring/src/polyfill/test.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - it
    - expected
    argTypes:
    - impl ExactSizeIterator<Item = T> + Clone
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 9
      start: 1
    functionDepth: 1
    functionLinenumber: 1
    functionLinenumberEnd: 9
    functionName: assert_iterator
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/test.rs
    functionUses: 0
    functionsReached:
    - assert_exact_size_iterator
    - clone
    linkageType: ''
    returnType: void
    signature: 'pub fn assert_iterator<T>(it: impl ExactSizeIterator<Item = T> + Clone,
      expected: &[T])whereT: Copy + core::fmt::Debug + PartialEq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/polyfill/test.rs:19,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/polyfill/test.rs:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - it
    - expected
    argTypes:
    - impl ExactSizeIterator<Item = T>
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 1
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: assert_exact_size_iterator
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/test.rs
    functionUses: 1
    functionsReached:
    - len
    linkageType: ''
    returnType: void
    signature: 'fn assert_exact_size_iterator<T>(mut it: impl ExactSizeIterator<Item
      = T>, expected: &[T])whereT: Copy + core::fmt::Debug + PartialEq,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: LeadingZerosStripped::clone
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - clone
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:30,1
    - Dst: peekable
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:31,1
    - Dst: next_if_eq
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:34,1
    - Dst: is_some
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - inner
    argTypes:
    - I
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: LeadingZerosStripped::new
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 1
    functionsReached:
    - peekable
    - len
    - is_some
    - next_if_eq
    linkageType: ''
    returnType: Self
    signature: 'pub fn new(inner: I) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: LeadingZerosStripped::next
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: size_hint
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: LeadingZerosStripped::size_hint
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - size_hint
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:73,1
    - Dst: copied
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:73,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:73,1
    - Dst: LeadingZerosStripped::new
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:74,1
    - Dst: untrusted::Input::iter
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:74,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:74,1
    - Dst: super::super::test::assert_iterator
      Src: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: tests::test_leading_zeroes_stripped
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::copied
    - super::super::test::assert_iterator
    - LeadingZerosStripped::new
    - iter
    - for_each
    - copied
    - untrusted::Input::iter
    linkageType: ''
    returnType: void
    signature: fn test_leading_zeroes_stripped()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - Option<T>
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: unwrap_const
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/unwrap_const.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: T
    signature: 'pub const fn unwrap_const<T>(x: Option<T>) -> TwhereT: Copy,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:25,1
    - Dst: usize::checked_mul
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:25,1
    - Dst: flat_map
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:26,1
    - Dst: Some
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - inner
    - f
    argTypes:
    - I
    - F
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: ArrayFlatMap::new
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs
    functionUses: 1
    functionsReached:
    - len
    - flat_map
    - Some
    - usize::checked_mul
    linkageType: ''
    returnType: Option
    signature: 'pub fn new(inner: I, f: F) -> Option<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:39,1
    - Dst: TestResult::is_some
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 5
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: ArrayFlatMap::next
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - TestResult::is_some
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ArrayFlatMap::size_hint
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - Some
    linkageType: ''
    returnType: (usize, Option
    signature: fn size_hint(&self) -> (usize, Option<usize>)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:82,1
    - Dst: copied
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:82,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:82,1
    - Dst: ArrayFlatMap::new
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: untrusted::Input::iter
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: Self::IntoIter::copied
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:83,1
    - Dst: super::super::test::assert_iterator
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: tests::test_array_flat_map
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - Self::IntoIter::copied
    - Option::unwrap
    - ArrayFlatMap::new
    - super::super::test::assert_iterator
    - iter
    - for_each
    - copied
    - untrusted::Input::iter
    linkageType: ''
    returnType: void
    signature: fn test_array_flat_map()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:116,1
    - Dst: copied
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:116,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:116,1
    - Dst: ArrayFlatMap::new
      Src: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 126
    functionName: tests::test_array_flat_map_len_overflow
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs
    functionUses: 0
    functionsReached:
    - for_each
    - copied
    - ArrayFlatMap::new
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_array_flat_map_len_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 101
    functionName: cold_exhaustive_error
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/cold_error.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter_mut
      Src: /src/td-shim/library/ring/src/polyfill/sliceutil.rs:20,1
    - Dst: zip
      Src: /src/td-shim/library/ring/src/polyfill/sliceutil.rs:20,1
    - Dst: for_each
      Src: /src/td-shim/library/ring/src/polyfill/sliceutil.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - '&mut [T]'
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: overwrite_at_start
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/sliceutil.rs
    functionUses: 6
    functionsReached:
    - for_each
    - iter_mut
    - zip
    linkageType: ''
    returnType: void
    signature: 'pub fn overwrite_at_start<T: Copy>(a: &mut [T], b: &[T])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:21,1
    - Dst: '&[u8]::split_at'
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:22,1
    - Dst: AsChunks
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&[T]'
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: as_chunks
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 10
    functionsReached:
    - '&[u8]::len'
    - '&[u8]::split_at'
    - AsChunks
    linkageType: ''
    returnType: (AsChunks
    signature: 'pub fn as_chunks<T, const N: usize>(slice: &[T]) -> (AsChunks<T, N>,
      &[T])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - '&''a [T; N]'
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: AsChunks::from_ref
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'pub fn from_ref(value: &''a [T; N]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: AsChunks::as_flattened
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn as_flattened(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:43,1
    - Dst: cast
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: AsChunks::as_ptr
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - cast
    - as_ptr
    linkageType: ''
    returnType: '*const [T; N]'
    signature: pub fn as_ptr(&self) -> *const [T; N]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: AsChunks::is_empty
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - is_empty
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: AsChunks::len
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - len
    linkageType: ''
    returnType: usize
    signature: pub fn len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::try_into'
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:67,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - index
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: AsChunks::index
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::try_into'
    - unwrap
    linkageType: ''
    returnType: '&Self::Output'
    signature: 'fn index(&self, index: usize) -> &Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunksIter
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:77,1
    - Dst: chunks_exact
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: AsChunks::into_iter
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - chunks_exact
    - AsChunksIter
    linkageType: ''
    returnType: Self::IntoIter
    signature: fn into_iter(self) -> Self::IntoIter
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:88,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:88,1
    - Dst: Result::try_into
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:88,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 5
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: AsChunksIter::next
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - map
    - Result::try_into
    - unwrap
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - as_2x
    argTypes:
    - AsChunks<'a, T, 8>
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: AsChunks::from
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(as_2x: AsChunks<''a, T, 8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:20,1
    - Dst: '&[u8]::split_at_mut'
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:21,1
    - Dst: AsChunksMut
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&mut [T]'
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: as_chunks_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 5
    functionsReached:
    - AsChunksMut
    - '&[u8]::len'
    - '&[u8]::split_at_mut'
    linkageType: ''
    returnType: (AsChunksMut
    signature: 'pub fn as_chunks_mut<T, const N: usize>(slice: &mut [T]) -> (AsChunksMut<T,
      N>, &mut [T])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: AsChunksMut::as_flattened
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[T]'
    signature: pub fn as_flattened(&self) -> &[T]
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: AsChunksMut::as_flattened_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut [T]'
    signature: pub fn as_flattened_mut(&mut self) -> &mut [T]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ptr
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:45,1
    - Dst: cast
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: AsChunksMut::as_ptr
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - cast
    - as_ptr
    linkageType: ''
    returnType: '*const [T; N]'
    signature: pub fn as_ptr(&self) -> *const [T; N]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_mut_ptr
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:50,1
    - Dst: cast
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: AsChunksMut::as_mut_ptr
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - as_mut_ptr
    - cast
    linkageType: ''
    returnType: '*mut [T; N]'
    signature: pub fn as_mut_ptr(&mut self) -> *mut [T; N]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunksMut
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: AsChunksMut::as_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 1
    functionsReached:
    - AsChunksMut
    linkageType: ''
    returnType: AsChunksMut
    signature: pub fn as_mut(&mut self) -> AsChunksMut<T, N>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunks::<T, N>::from
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: AsChunksMut::as_ref
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunks::<T, N>::from
    linkageType: ''
    returnType: AsChunks
    signature: pub fn as_ref(&self) -> AsChunks<T, N>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AsChunksMutChunksMutIter
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:68,1
    - Dst: chunks_mut
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 5
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: AsChunksMut::chunks_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunksMutChunksMutIter
    - chunks_mut
    linkageType: ''
    returnType: AsChunksMutChunksMutIter
    signature: 'pub fn chunks_mut<const CHUNK_LEN: usize>(&mut self) -> AsChunksMutChunksMutIter<T,
      N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:74,1
    - Dst: AsChunksMut
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:75,1
    - Dst: AsChunksMut
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mid
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: AsChunksMut::split_at_mut
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - AsChunksMut
    - split_at_mut
    linkageType: ''
    returnType: (AsChunksMut
    signature: 'pub fn split_at_mut(&mut self, mid: usize) -> (AsChunksMut<T, N>,
      AsChunksMut<T, N>)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:86,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: AsChunksMutChunksMutIter::next
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
    functionUses: 0
    functionsReached:
    - map
    - next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<Self::Item>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: AtomicUsize::new
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: OnceNonZeroUsize::new
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs
    functionUses: 0
    functionsReached:
    - AtomicUsize::new
    linkageType: ''
    returnType: OnceNonZeroUsize
    signature: pub const fn new() -> OnceNonZeroUsize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:44,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 9
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: OnceNonZeroUsize::get
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs
    functionUses: 0
    functionsReached:
    - NonZeroUsize::new
    - load
    linkageType: ''
    returnType: Option
    signature: pub fn get(&self) -> Option<NonZeroUsize>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: load
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:58,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:59,1
    - Dst: OnceNonZeroUsize::init
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - F
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 9
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: OnceNonZeroUsize::get_or_init
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs
    functionUses: 0
    functionsReached:
    - OnceNonZeroUsize::init
    - NonZeroUsize::new
    - load
    linkageType: ''
    returnType: NonZeroUsize
    signature: 'pub fn get_or_init<F>(&self, f: F) -> NonZeroUsizewhereF: FnOnce()
      -> NonZeroUsize,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:68,1
    - Dst: compare_exchange
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:69,1
    - Dst: NonZeroUsize::new_unchecked
      Src: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - impl FnOnce() -> NonZeroUsize
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 9
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: OnceNonZeroUsize::init
    functionSourceFile: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs
    functionUses: 1
    functionsReached:
    - compare_exchange
    - NonZeroUsize::new_unchecked
    - get
    linkageType: ''
    returnType: NonZeroUsize
    signature: 'fn init(&self, f: impl FnOnce() -> NonZeroUsize) -> NonZeroUsize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_or_init
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:141,1
    - Dst: cpu::Features::new_after_feature_flags_written_and_synced_unchecked
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 101
    functionDepth: 10
    functionLinenumber: 101
    functionLinenumberEnd: 145
    functionName: featureflags::get_or_init
    functionSourceFile: /src/td-shim/library/ring/src/cpu/arm.rs
    functionUses: 1
    functionsReached:
    - get_or_init
    - cpu::Features::new_after_feature_flags_written_and_synced_unchecked
    linkageType: ''
    returnType: cpu::Features
    signature: pub(in super::super) fn get_or_init() -> cpu::Features
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:154,1
    - Dst: map
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:154,1
    - Dst: unwrap_or
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - _cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 9
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: featureflags::get
    functionSourceFile: /src/td-shim/library/ring/src/cpu/arm.rs
    functionUses: 1
    functionsReached:
    - map
    - unwrap_or
    - get
    linkageType: ''
    returnType: u32
    signature: 'pub(in super::super) fn get(_cpu_features: cpu::Features) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - leaf
    - bit
    argTypes:
    - u32
    - u32
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::check
    functionSourceFile: /src/td-shim/library/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn check(leaf: u32, bit: u32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - out
    - shift
    argTypes:
    - '&mut u32'
    - Shift
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::set
    functionSourceFile: /src/td-shim/library/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn set(out: &mut u32, shift: Shift)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:133,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:176,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:177,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:179,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:195,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:196,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:207,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:208,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:216,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:218,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:228,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:229,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:231,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:240,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:241,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:244,1
    - Dst: store
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:252,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:265,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:266,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:268,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:269,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:274,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:275,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:281,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:284,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:285,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:288,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:290,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:307,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:308,1
    - Dst: check
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:311,1
    - Dst: set
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:313,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:318,1
    - Dst: store
      Src: /src/td-shim/library/ring/src/cpu/intel.rs:326,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 126
    argCount: 1
    argNames:
    - cpuid
    argTypes:
    - '&[u32; 4]'
    constantsTouched: []
    func_position:
      end: 331
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 331
    functionName: cpuid_to_caps_and_set_c_flags
    functionSourceFile: /src/td-shim/library/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached:
    - check
    - set
    - store
    - prefixed_extern
    linkageType: ''
    returnType: u32
    signature: 'fn cpuid_to_caps_and_set_c_flags(cpuid: &[u32; 4]) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: tests::x86_has_sse2
    functionSourceFile: /src/td-shim/library/ring/src/cpu/intel.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn x86_has_sse2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: detect::detect_features
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:103,1
    - Dst: Neon::mask
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:105,1
    - Dst: Neon::mask
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:109,1
    - Dst: Neon::mask
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:121,1
    - Dst: Neon::mask
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:121,1
    - Dst: prefixed_extern
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:124,1
    - Dst: store
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:132,1
    - Dst: usize_from_u32
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:135,1
    - Dst: NonZeroUsize::new
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:136,1
    - Dst: OnceNonZeroUsize::unwrap
      Src: /src/td-shim/library/ring/src/cpu/arm.rs:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: f::e::a::t::u::r::e::f::l::a::g::s::::::::g::e::t::_::o::r::_::i::n::i::t::init
    functionSourceFile: /src/td-shim/library/ring/src/cpu/arm.rs
    functionUses: 0
    functionsReached:
    - OnceNonZeroUsize::unwrap
    - prefixed_extern
    - Neon::mask
    - NonZeroUsize::new
    - detect::detect_features
    - store
    - usize_from_u32
    linkageType: ''
    returnType: NonZeroUsize
    signature: fn init() -> NonZeroUsize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsProcessorFeaturePresent
      Src: /src/td-shim/library/ring/src/cpu/arm/windows.rs:28,1
    - Dst: Aes::mask
      Src: /src/td-shim/library/ring/src/cpu/arm/windows.rs:32,1
    - Dst: PMull::mask
      Src: /src/td-shim/library/ring/src/cpu/arm/windows.rs:33,1
    - Dst: Sha256::mask
      Src: /src/td-shim/library/ring/src/cpu/arm/windows.rs:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: detect_features
    functionSourceFile: /src/td-shim/library/ring/src/cpu/arm/windows.rs
    functionUses: 1
    functionsReached:
    - IsProcessorFeaturePresent
    - Aes::mask
    - PMull::mask
    - Sha256::mask
    linkageType: ''
    returnType: u32
    signature: pub fn detect_features() -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mem::size_of_val
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:60,1
    - Dst: polyfill::ptr::from_mut
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:61,1
    - Dst: cast::<c_void>
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:61,1
    - Dst: libc::sysctlbyname
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:64,1
    - Dst: String::as_ptr
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:64,1
    - Dst: core::ptr::null_mut
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:64,1
    - Dst: mem::size_of_val
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - cstr::Ref
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: d::e::t::e::c::t::_::f::e::a::t::u::r::e::s::detect_feature
    functionSourceFile: /src/td-shim/library/ring/src/cpu/arm/darwin.rs
    functionUses: 0
    functionsReached:
    - cast::<c_void>
    - polyfill::ptr::from_mut
    - String::as_ptr
    - core::ptr::null_mut
    - mem::size_of_val
    - libc::sysctlbyname
    linkageType: ''
    returnType: bool
    signature: 'fn detect_feature(name: cstr::Ref) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/cpu/arm/darwin.rs:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 98
    functionDepth: 7
    functionLinenumber: 98
    functionLinenumberEnd: 112
    functionName: tests::sha512_detection
    functionSourceFile: /src/td-shim/library/ring/src/cpu/arm/darwin.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    linkageType: ''
    returnType: void
    signature: fn sha512_detection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::len
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:36,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:37,1
    - Dst: error::KeyRejected::too_large
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:37,1
    - Dst: untrusted::Input::read_all
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:39,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:39,1
    - Dst: untrusted::Input::peek
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:42,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:43,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:43,1
    - Dst: untrusted::Input::read_byte
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:47,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:47,1
    - Dst: error::KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:49,1
    - Dst: u64::from
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:50,1
    - Dst: untrusted::Input::at_end
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:51,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:52,1
    - Dst: NonZeroU64::new
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:61,1
    - Dst: Result::ok_or_else
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:61,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:63,1
    - Dst: error::KeyRejected::too_small
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:63,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:66,1
    - Dst: error::KeyRejected::too_large
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:66,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:70,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:71,1
    - Dst: error::KeyRejected::invalid_component
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:71,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:74,1
    - Dst: Self
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 76
    argCount: 2
    argNames:
    - input
    - min_value
    argTypes:
    - untrusted::Input
    - Self
    constantsTouched: []
    func_position:
      end: 75
      start: 29
    functionDepth: 9
    functionLinenumber: 29
    functionLinenumberEnd: 75
    functionName: PublicExponent::from_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached:
    - map_err
    - untrusted::Input::len
    - error::KeyRejected::too_large
    - untrusted::Input::read_all
    - untrusted::Input::read_byte
    - NonZeroU64::new
    - u64::from
    - untrusted::Input::at_end
    - Self
    - error::KeyRejected::invalid_encoding
    - untrusted::Input::peek
    - Ok
    - error::KeyRejected::invalid_component
    - error::KeyRejected::too_small
    - Result::ok_or_else
    - Err
    - get
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_be_bytes(input: untrusted::Input,min_value: Self,)
      -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ArrayFlatMap::new
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:82,1
    - Dst: core::iter::once
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:82,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:82,1
    - Dst: Option::unwrap
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:82,1
    - Dst: LeadingZerosStripped::new
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 9
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: PublicExponent::be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached:
    - Option::unwrap
    - ArrayFlatMap::new
    - LeadingZerosStripped::new
    - core::iter::once
    - get
    linkageType: ''
    returnType: impl ExactSizeIterator
    signature: pub fn be_bytes(&self) -> impl ExactSizeIterator<Item = u8> + Clone
      + '_
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: PublicExponent::value
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: NonZeroU64
    signature: pub(super) fn value(self) -> NonZeroU64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:97,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/rsa/public_exponent.rs:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: tests::test_public_exponent_constants
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_exponent.rs
    functionUses: 0
    functionsReached:
    - into
    - iter
    linkageType: ''
    returnType: void
    signature: fn test_public_exponent_constants()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::encode
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - encoding
    - m_hash
    - m_out
    - mod_bits
    - rng
    argTypes:
    - '&dyn RsaEncoding'
    - digest::Digest
    - '&mut [u8]'
    - bits::BitLength
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: encode
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding.rs
    functionUses: 3
    functionsReached:
    - Self::encode
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn encode(encoding: &dyn RsaEncoding,m_hash: digest::Digest,m_out:
      &mut [u8],mod_bits: bits::BitLength,rng: &dyn rand::SecureRandom,) -> Result<(),
      error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Option::output_len
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:76,1
    - Dst: PathBuf::chunks_mut
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:79,1
    - Dst: Result::enumerate
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:79,1
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:80,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:81,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:84,1
    - Dst: u32::to_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:84,1
    - Dst: try_into
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:84,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:84,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:85,1
    - Dst: bb::xor_assign_at_start
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:89,1
    - Dst: Digest::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - digest_alg
    - seed
    - out
    argTypes:
    - '&''static digest::Algorithm'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: mgf1
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding.rs
    functionUses: 0
    functionsReached:
    - bb::xor_assign_at_start
    - Digest::as_ref
    - u32::to_be_bytes
    - Self::update
    - PathBuf::chunks_mut
    - unwrap
    - Result::enumerate
    - try_into
    - Option::output_len
    - Self::finish
    - digest::Context::new
    linkageType: ''
    returnType: void
    signature: 'fn mgf1(digest_alg: &''static digest::Algorithm, seed: &[u8], out:
      &mut [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:102,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:103,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:107,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:108,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:115,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:116,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:117,1
    - Dst: Result::digest_alg
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:117,1
    - Dst: Self::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:117,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:119,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:120,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:123,1
    - Dst: Option::consume_usize_bits
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:125,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:126,1
    - Dst: Elem::read_all
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:129,1
    - Dst: Result::verify
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:129,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 7
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: test::test_pss_padding_verify
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - untrusted::Input::from
    - test::run
    - Option::consume_bytes
    - Elem::read_all
    - String::as_ref
    - Result::digest_alg
    - Ok
    - Self::as_slice_less_safe
    - Option::consume_usize_bits
    - digest::digest
    - test_vector_file
    - Result::verify
    linkageType: ''
    returnType: void
    signature: fn test_pss_padding_verify()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:141,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:142,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:146,1
    - Dst: String::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:147,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:154,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:155,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:156,1
    - Dst: Option::consume_usize_bits
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:157,1
    - Dst: Option::consume_string
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:158,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:162,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:168,1
    - Dst: Result::digest_alg
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:168,1
    - Dst: Result::encode
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:170,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:170,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding.rs:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 140
    functionDepth: 6
    functionLinenumber: 140
    functionLinenumberEnd: 176
    functionName: test::test_pss_padding_encode
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding.rs
    functionUses: 0
    functionsReached:
    - Option::consume_string
    - test::run
    - Option::consume_bytes
    - Result::encode
    - Result::unwrap
    - String::as_ref
    - Result::digest_alg
    - Ok
    - Option::consume_usize_bits
    - digest::digest
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test_pss_padding_encode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/rsa/keypair_components.rs:34,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/rsa/keypair_components.rs:34,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/rsa/keypair_components.rs:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: KeyPairComponents::fmt
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair_components.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs8::unwrap_key_
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:100,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:101,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:103,1
    - Dst: Self::from_der
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:105,1
    - Dst: Option::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pkcs8
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: KeyPair::from_pkcs8
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 9
    functionsReached:
    - untrusted::Input::from
    - pkcs8::unwrap_key_
    - Option::as_slice_less_safe
    - Self::from_der
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_pkcs8(pkcs8: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:127,1
    - Dst: Self::read_all
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:127,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:127,1
    - Dst: der::nested
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:128,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: KeyPair::from_der
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 3
    functionsReached:
    - untrusted::Input::from
    - der::nested
    - Self::read_all
    - KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_der(input: &[u8]) -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:147,1
    - Dst: Result::map
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:147,1
    - Dst: untrusted::Input::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:148,1
    - Dst: TestResult::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:147,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader<''a>'
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: K::e::y::P::a::i::r::::::::f::r::o::m::_::d::e::r::_::r::e::a::d::e::r::nonnegative_integer
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - TestResult::map_err
    - Result::map
    - der::nonnegative_integer
    - untrusted::Input::as_slice_less_safe
    - KeyRejected::invalid_encoding
    linkageType: ''
    returnType: Result
    signature: 'fn nonnegative_integer<''a>(input: &mut untrusted::Reader<''a>,) ->
      Result<&''a [u8], KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: der::small_nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:138,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:138,1
    - Dst: KeyRejected::invalid_encoding
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:139,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:141,1
    - Dst: KeyRejected::version_not_supported
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:141,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:152,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:153,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:154,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:155,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:156,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:157,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:158,1
    - Dst: nonnegative_integer
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:159,1
    - Dst: Self::from_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - input
    argTypes:
    - '&mut untrusted::Reader'
    constantsTouched: []
    func_position:
      end: 172
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 172
    functionName: KeyPair::from_der_reader
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - Result::map_err
    - der::small_nonnegative_integer
    - Self::from_components
    - nonnegative_integer
    - KeyRejected::invalid_encoding
    - KeyRejected::version_not_supported
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn from_der_reader(input: &mut untrusted::Reader) -> Result<Self,
      KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:228,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:229,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:231,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:232,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:233,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:234,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:235,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:236,1
    - Dst: Self::from_components_
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:238,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - components
    argTypes:
    - '&KeyPairComponents<Public, Private>'
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 7
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: KeyPair::from_components
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - as_ref
    - Self::from_components_
    linkageType: ''
    returnType: Result
    signature: 'pub fn from_components<Public, Private>(components: &KeyPairComponents<Public,
      Private>,) -> Result<Self, KeyRejected>wherePublic: AsRef<[u8]>,Private: AsRef<[u8]>,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:253,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:254,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:255,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:256,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:257,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:258,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:278,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:279,1
    - Dst: PublicKey::from_modulus_and_exponent
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:280,1
    - Dst: BitLength::from_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:283,1
    - Dst: Result::inner
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:289,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:289,1
    - Dst: '!::oneRR'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:289,1
    - Dst: Result::inner
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:290,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:290,1
    - Dst: '!::value'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:290,1
    - Dst: Result::inner
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:306,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:306,1
    - Dst: '!::len_bits'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:306,1
    - Dst: PrivatePrime::new
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:308,1
    - Dst: PrivatePrime::new
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:309,1
    - Dst: to_elem
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:322,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:322,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:325,1
    - Dst: to_elem
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:326,1
    - Dst: map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:326,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:329,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:330,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:331,1
    - Dst: Elem::is_zero
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:332,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:333,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:333,1
    - Dst: bigint::OwnedModulusValue::<D>::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:343,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:343,1
    - Dst: KeyRejected::invalid_component
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:344,1
    - Dst: BitLength::half_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:345,1
    - Dst: Result::len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:345,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:346,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:346,1
    - Dst: Result::verify_less_than
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:350,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:350,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:351,1
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:355,1
    - Dst: bigint::Elem::from_be_bytes_padded
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:360,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:360,1
    - Dst: KeyRejected::invalid_component
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:361,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:368,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:368,1
    - Dst: bigint::elem_reduced
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:369,1
    - Dst: alloc_zero
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:369,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:369,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:370,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:370,1
    - Dst: bigint::verify_inverses_consttime
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:371,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:371,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:372,1
    - Dst: PrivateCrtPrime::new
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:376,1
    - Dst: PrivateCrtPrime::new
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:377,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 130
    argCount: 2
    argNames:
    - cpu_features
    argTypes:
    - '&KeyPairComponents<&[u8]>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 385
      start: 241
    functionDepth: 11
    functionLinenumber: 241
    functionLinenumberEnd: 385
    functionName: KeyPair::from_components_
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - bigint::OwnedModulusValue::<D>::from_be_bytes
    - as_ref
    - PrivateCrtPrime::new
    - bigint::Elem::from_be_bytes_padded
    - modulus
    - KeyRejected::inconsistent_components
    - untrusted::Input::from
    - Elem::is_zero
    - Result::map_err
    - BitLength::half_rounded_up
    - bigint::elem_mul
    - to_elem
    - PublicKey::from_modulus_and_exponent
    - bigint::verify_inverses_consttime
    - Ok
    - '!::len_bits'
    - len_bits
    - alloc_zero
    - BitLength::from_bits
    - n
    - '!::value'
    - bigint::elem_reduced
    - Result::verify_less_than
    - KeyRejected::invalid_component
    - Err
    - map_err
    - Result::len_bits
    - Result::inner
    - '!::oneRR'
    - PrivatePrime::new
    linkageType: ''
    returnType: Result
    signature: fn from_components_(&KeyPairComponents
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: KeyPair::public
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&PublicKey'
    signature: pub fn public(&self) -> &PublicKey
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: KeyPair::public
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:398,1
    - Dst: '&PublicKey::modulus_len'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: KeyPair::public_modulus_len
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - '&PublicKey::modulus_len'
    - KeyPair::public
    linkageType: ''
    returnType: usize
    signature: pub fn public_modulus_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bigint::OwnedModulusValue::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:421,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:430,1
    - Dst: BitLength::half_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:430,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:431,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:431,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:434,1
    - Dst: BitLength::as_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:434,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:435,1
    - Dst: KeyRejected::private_modulus_len_not_multiple_of_512_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:435,1
    - Dst: bigint::OwnedModulus::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:442,1
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:443,1
    - Dst: bigint::One::newRR
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:444,1
    - Dst: OwnedModulus::alloc_zero
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:444,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - p
    - n_bits
    - cpu_features
    argTypes:
    - untrusted::Input
    - BitLength
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 447
      start: 416
    functionDepth: 16
    functionLinenumber: 416
    functionLinenumberEnd: 447
    functionName: PrivatePrime::new
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - bigint::OwnedModulus::from
    - OwnedModulus::alloc_zero
    - BitLength::half_rounded_up
    - bigint::OwnedModulusValue::from_be_bytes
    - KeyRejected::private_modulus_len_not_multiple_of_512_bits
    - modulus
    - BitLength::as_bits
    - Ok
    - KeyRejected::inconsistent_components
    - Err
    - bigint::One::newRR
    - len_bits
    linkageType: ''
    returnType: Result
    signature: 'fn new(p: untrusted::Input,n_bits: BitLength,cpu_features: cpu::Features,)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:464,1
    - Dst: bigint::PrivateExponent::from_be_bytes_padded
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:466,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:466,1
    - Dst: KeyRejected::inconsistent_components
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:467,1
    - Dst: bigint::One::newRRR
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:478,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - p
    - dP
    - cpu_features
    argTypes:
    - PrivatePrime<M>
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 485
      start: 459
    functionDepth: 12
    functionLinenumber: 459
    functionLinenumberEnd: 485
    functionName: PrivateCrtPrime::new
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - bigint::One::newRRR
    - bigint::PrivateExponent::from_be_bytes_padded
    - Result::map_err
    - modulus
    - Ok
    - KeyRejected::inconsistent_components
    linkageType: ''
    returnType: Result
    signature: 'fn new(p: PrivatePrime<M>,dP: untrusted::Input,cpu_features: cpu::Features,)
      -> Result<Self, KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:540,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:542,1
    - Dst: KeyPair::public
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:542,1
    - Dst: '&PublicKey::modulus_len'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:542,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:543,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:546,1
    - Dst: '&''static dyn RsaEncoding::digest_alg'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:546,1
    - Dst: padding::encode
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:550,1
    - Dst: KeyPair::public
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:554,1
    - Dst: '&PublicKey::inner'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:554,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:554,1
    - Dst: '!::len_bits'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:554,1
    - Dst: KeyPair::private_exponentiate
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:562,1
    - Dst: u8::fill_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:565,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - padding_alg
    - rng
    - msg
    - signature
    argTypes:
    - '&''static dyn RsaEncoding'
    - '&dyn rand::SecureRandom'
    - '&[u8]'
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 568
      start: 533
    functionDepth: 10
    functionLinenumber: 533
    functionLinenumberEnd: 568
    functionName: KeyPair::sign
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - '&PublicKey::inner'
    - digest::digest
    - padding::encode
    - n
    - '&PublicKey::modulus_len'
    - KeyPair::private_exponentiate
    - cpu::features
    - Result::len
    - u8::fill_be_bytes
    - Ok
    - '&''static dyn RsaEncoding::digest_alg'
    - '!::len_bits'
    - Err
    - KeyPair::public
    linkageType: ''
    returnType: Result
    signature: 'pub fn sign(&self,padding_alg: &''static dyn RsaEncoding,rng: &dyn
      rand::SecureRandom,msg: &[u8],signature: &mut [u8],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inner
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:587,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:587,1
    - Dst: value
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:587,1
    - Dst: inner
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:588,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:588,1
    - Dst: oneRR
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:588,1
    - Dst: bigint::Elem::from_be_bytes_padded
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:591,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:591,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:597,1
    - Dst: elem_exp_consttime
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:598,1
    - Dst: elem_exp_consttime
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:599,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:599,1
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:605,1
    - Dst: bigint::elem_reduced_once
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:606,1
    - Dst: alloc_zero
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:606,1
    - Dst: bigint::elem_sub
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:607,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:608,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:615,1
    - Dst: bigint::elem_widen
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:616,1
    - Dst: '!::alloc_zero'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:616,1
    - Dst: to_elem
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:617,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:618,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:619,1
    - Dst: bigint::elem_widen
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:620,1
    - Dst: '!::alloc_zero'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:620,1
    - Dst: bigint::elem_add
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:621,1
    - Dst: '!::alloc_zero'
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:634,1
    - Dst: inner
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:635,1
    - Dst: exponentiate_elem
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:635,1
    - Dst: bigint::elem_verify_equal_consttime
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:639,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 87
    argCount: 2
    argNames:
    - base
    - cpu_features
    argTypes:
    - '&[u8]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 645
      start: 577
    functionDepth: 11
    functionLinenumber: 577
    functionLinenumberEnd: 645
    functionName: KeyPair::private_exponentiate
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 1
    functionsReached:
    - elem_exp_consttime
    - bigint::elem_reduced_once
    - bigint::Elem::from_be_bytes_padded
    - modulus
    - untrusted::Input::from
    - inner
    - bigint::elem_mul
    - to_elem
    - Ok
    - oneRR
    - bigint::elem_verify_equal_consttime
    - len_bits
    - alloc_zero
    - n
    - value
    - exponentiate_elem
    - '!::alloc_zero'
    - bigint::elem_sub
    - bigint::elem_widen
    - bigint::elem_add
    linkageType: ''
    returnType: Result
    signature: 'fn private_exponentiate(&self,base: &[u8],cpu_features: cpu::Features,)
      -> Result<bigint::Elem<N>, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:656,1
    - Dst: test::run
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:657,1
    - Dst: test_vector_file
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:658,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:662,1
    - Dst: KeyPair::from_pkcs8
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:663,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:663,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:665,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:666,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:667,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:668,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:669,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:670,1
    - Dst: Result::len
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:677,1
    - Dst: Option::len
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:677,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:678,1
    - Dst: Result::private_exponentiate
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:679,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:679,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/keypair.rs:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 655
    functionDepth: 12
    functionLinenumber: 655
    functionLinenumberEnd: 684
    functionName: tests::test_rsakeypair_private_exponentiate
    functionSourceFile: /src/td-shim/library/ring/src/rsa/keypair.rs
    functionUses: 0
    functionsReached:
    - Result::private_exponentiate
    - test::run
    - KeyPair::from_pkcs8
    - Option::consume_bytes
    - copy_from_slice
    - Result::unwrap
    - cpu::features
    - Result::len
    - Ok
    - Option::len
    - test_vector_file
    linkageType: ''
    returnType: void
    signature: fn test_rsakeypair_private_exponentiate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_public_key
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:34,1
    - Dst: verify_rsa_
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:35,1
    - Dst: '!::big_endian_without_leading_zero_as_input'
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:38,1
    - Dst: '&[u8]::big_endian_without_leading_zero_as_input'
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:39,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - public_key
    - msg
    - signature
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - untrusted::Input
    constantsTouched: []
    func_position:
      end: 45
      start: 28
    functionDepth: 7
    functionLinenumber: 28
    functionLinenumberEnd: 45
    functionName: RsaParameters::verify
    functionSourceFile: /src/td-shim/library/ring/src/rsa/verification.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - parse_public_key
    - '&[u8]::big_endian_without_leading_zero_as_input'
    - verify_rsa_
    - '!::big_endian_without_leading_zero_as_input'
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,public_key: untrusted::Input,msg: untrusted::Input,signature:
      untrusted::Input,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: rsa_params
    functionSourceFile: /src/td-shim/library/ring/src/rsa/verification.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: verify_rsa_
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:185,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:188,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:188,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:189,1
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:189,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:191,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:192,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - params
    - message
    - signature
    argTypes:
    - '&RsaParameters'
    - '&[u8]'
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 7
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: super::PublicKeyComponents::verify
    functionSourceFile: /src/td-shim/library/ring/src/rsa/verification.rs
    functionUses: 0
    functionsReached:
    - cpu::features
    - untrusted::Input::from
    - as_ref
    - verify_rsa_
    linkageType: ''
    returnType: Result
    signature: 'pub fn verify(&self,params: &RsaParameters,message: &[u8],signature:
      &[u8],) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits::BitLength::from_byte_len
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:206,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:206,1
    - Dst: public_key::Inner::from_modulus_and_exponent
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:213,1
    - Dst: Result::exponentiate
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:224,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:227,1
    - Dst: digest_alg
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:227,1
    - Dst: (untrusted::Input, untrusted::Input)::as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:227,1
    - Dst: untrusted::Input::from
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:228,1
    - Dst: Self::read_all
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:228,1
    - Dst: verify
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:229,1
    - Dst: Result::n
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:229,1
    - Dst: '!::len_bits'
      Src: /src/td-shim/library/ring/src/rsa/verification.rs:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - params
    - msg
    - signature
    - cpu_features
    argTypes:
    - '&RsaParameters'
    - (untrusted::Input, untrusted::Input)
    - untrusted::Input
    - untrusted::Input
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 12
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: verify_rsa_
    functionSourceFile: /src/td-shim/library/ring/src/rsa/verification.rs
    functionUses: 2
    functionsReached:
    - untrusted::Input::from
    - digest_alg
    - Result::n
    - Result::map_err
    - verify
    - public_key::Inner::from_modulus_and_exponent
    - bits::BitLength::from_byte_len
    - Result::exponentiate
    - '!::len_bits'
    - (untrusted::Input, untrusted::Input)::as_slice_less_safe
    - digest::digest
    - Self::read_all
    linkageType: ''
    returnType: Result
    signature: 'pub(crate) fn verify_rsa_(params: &RsaParameters,(n, e): (untrusted::Input,
      untrusted::Input),msg: untrusted::Input,signature: untrusted::Input,cpu_features:
      cpu::Features,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clone
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:19,1
    - Dst: cpu::features
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:23,1
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:24,1
    - Dst: '&bigint::Elem::clone_into'
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:25,1
    - Dst: '!::alloc_zero'
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 17
    functionDepth: 12
    functionLinenumber: 17
    functionLinenumberEnd: 28
    functionName: PublicModulus::clone
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - '&bigint::Elem::clone_into'
    - clone
    - cpu::features
    - modulus
    - '!::alloc_zero'
    linkageType: ''
    returnType: Self
    signature: fn clone(&self) -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RangeInclusive<bits::BitLength>::start
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:47,1
    - Dst: RangeInclusive<bits::BitLength>::end
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:48,1
    - Dst: bigint::OwnedModulusValue::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:56,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:57,1
    - Dst: bits::BitLength::from_byte_len
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:63,1
    - Dst: Self::as_usize_bytes_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:63,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:63,1
    - Dst: unwrap
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:63,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:67,1
    - Dst: error::KeyRejected::too_small
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:67,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:70,1
    - Dst: error::KeyRejected::too_large
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:70,1
    - Dst: bigint::OwnedModulus::from
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:72,1
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:73,1
    - Dst: bigint::One::newRR
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:74,1
    - Dst: u8::alloc_zero
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:74,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - n
    - allowed_bit_lengths
    - cpu_features
    argTypes:
    - untrusted::Input
    - RangeInclusive<bits::BitLength>
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 16
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: PublicModulus::from_be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - bigint::One::newRR
    - RangeInclusive<bits::BitLength>::start
    - bigint::OwnedModulus::from
    - error::KeyRejected::too_large
    - Result::map_err
    - bigint::OwnedModulusValue::from_be_bytes
    - unwrap
    - modulus
    - u8::alloc_zero
    - bits::BitLength::from_byte_len
    - Self::as_usize_bytes_rounded_up
    - Ok
    - error::KeyRejected::too_small
    - Err
    - RangeInclusive<bits::BitLength>::end
    - len_bits
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_be_bytes(n: untrusted::Input,allowed_bit_lengths:
      RangeInclusive<bits::BitLength>,cpu_features: cpu::Features,) -> Result<Self,
      error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: PublicModulus::be_bytes
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - be_bytes
    linkageType: ''
    returnType: impl ExactSizeIterator
    signature: pub fn be_bytes(&self) -> impl ExactSizeIterator<Item = u8> + Clone
      + '_
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: PublicModulus::len_bits
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - len_bits
    linkageType: ''
    returnType: bits::BitLength
    signature: pub fn len_bits(&self) -> bits::BitLength
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: modulus
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cpu_features
    argTypes:
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 12
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: PublicModulus::value
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - modulus
    linkageType: ''
    returnType: bigint::Modulus
    signature: 'pub(super) fn value(&self, cpu_features: cpu::Features) -> bigint::Modulus<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/td-shim/library/ring/src/rsa/public_modulus.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: PublicModulus::oneRR
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_modulus.rs
    functionUses: 0
    functionsReached:
    - as_ref
    linkageType: ''
    returnType: '&bigint::Elem'
    signature: pub(super) fn oneRR(&self) -> &bigint::Elem<N, RR>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Inner::from_modulus_and_exponent
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:43,1
    - Dst: io::Positive::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:59,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:59,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:60,1
    - Dst: io::Positive::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:61,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:61,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:62,1
    - Dst: der_writer::write_all
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:63,1
    - Dst: der_writer::write_positive_integer
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:64,1
    - Dst: der_writer::write_positive_integer
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:65,1
    - Dst: Result::map_err
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:63,1
    - Dst: error::KeyRejected::unexpected_error
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:67,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - n
    - e
    - n_min_bits
    - n_max_bits
    - e_min_value
    - cpu_features
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - bits::BitLength
    - bits::BitLength
    - PublicExponent
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: PublicKey::from_modulus_and_exponent
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached:
    - Result::map_err
    - der_writer::write_positive_integer
    - Inner::from_modulus_and_exponent
    - io::Positive::from_be_bytes
    - Ok
    - der_writer::write_all
    - error::KeyRejected::unexpected_error
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_modulus_and_exponent(n: untrusted::Input,e: untrusted::Input,n_min_bits:
      bits::BitLength,n_max_bits: bits::BitLength,e_min_value: PublicExponent,cpu_features:
      cpu::Features,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:77,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:77,1
    - Dst: as_usize_bytes_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: PublicKey::modulus_len
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 2
    functionsReached:
    - as_usize_bytes_rounded_up
    - n
    - len_bits
    linkageType: ''
    returnType: usize
    signature: pub fn modulus_len(&self) -> usize
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: PublicKey::inner
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: '&Inner'
    signature: pub(super) fn inner(&self) -> &Inner
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PublicModulus::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:111,1
    - Dst: PublicExponent::from_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:113,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - n
    - e
    - n_min_bits
    - n_max_bits
    - e_min_value
    - cpu_features
    argTypes:
    - untrusted::Input
    - untrusted::Input
    - bits::BitLength
    - bits::BitLength
    - PublicExponent
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 17
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: Inner::from_modulus_and_exponent
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 2
    functionsReached:
    - PublicModulus::from_be_bytes
    - PublicExponent::from_be_bytes
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn from_modulus_and_exponent(n: untrusted::Input,e: untrusted::Input,n_min_bits:
      bits::BitLength,n_max_bits: bits::BitLength,e_min_value: PublicExponent,cpu_features:
      cpu::Features,) -> Result<Self, error::KeyRejected>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: Inner::n
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&PublicModulus'
    signature: pub(super) fn n(&self) -> &PublicModulus
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: Inner::e
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PublicExponent
    signature: pub(super) fn e(&self) -> PublicExponent
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: value
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:150,1
    - Dst: usize::len
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:154,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:154,1
    - Dst: as_usize_bytes_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:154,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:155,1
    - Dst: bigint::Elem::from_be_bytes_padded
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:161,1
    - Dst: '&[u8]::is_zero'
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:162,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:163,1
    - Dst: '!::alloc_zero'
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:167,1
    - Dst: Inner::exponentiate_elem
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:168,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:171,1
    - Dst: fill_be_bytes_n
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:171,1
    - Dst: len_bits
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 3
    argNames:
    - base
    - out_buffer
    - cpu_features
    argTypes:
    - untrusted::Input
    - '&''out mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN]'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 12
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: Inner::exponentiate
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 0
    functionsReached:
    - as_usize_bytes_rounded_up
    - value
    - fill_be_bytes_n
    - Inner::exponentiate_elem
    - bigint::Elem::from_be_bytes_padded
    - '&[u8]::is_zero'
    - '!::alloc_zero'
    - Ok
    - usize::len
    - Err
    - len_bits
    linkageType: ''
    returnType: Result
    signature: 'pub(super) fn exponentiate<''out>(&self,base: untrusted::Input,out_buffer:
      &''out mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN],cpu_features: cpu::Features,)
      -> Result<&''out [u8], error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NonZeroU64::try_from
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:184,1
    - Dst: value
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:184,1
    - Dst: get
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:184,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:184,1
    - Dst: value
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:188,1
    - Dst: '!::alloc_zero'
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:190,1
    - Dst: bigint::elem_mul_into
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:191,1
    - Dst: oneRR
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:191,1
    - Dst: bigint::elem_exp_vartime
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:197,1
    - Dst: bigint::elem_mul
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 3
    argNames:
    - out
    - base
    - cpu_features
    argTypes:
    - bigint::Storage<N>
    - '&bigint::Elem<N>'
    - cpu::Features
    constantsTouched: []
    func_position:
      end: 201
      start: 177
    functionDepth: 9
    functionLinenumber: 177
    functionLinenumberEnd: 201
    functionName: Inner::exponentiate_elem
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached:
    - value
    - bigint::elem_mul_into
    - Result::unwrap
    - bigint::elem_exp_vartime
    - bigint::elem_mul
    - NonZeroU64::try_from
    - '!::alloc_zero'
    - oneRR
    - get
    linkageType: ''
    returnType: bigint::Elem
    signature: 'pub(super) fn exponentiate_elem(&self,out: bigint::Storage<N>,base:
      &bigint::Elem<N>,cpu_features: cpu::Features,) -> bigint::Elem<N>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BitLength::as_usize_bytes_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:221,1
    - Dst: Elem::fill_be_bytes
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:224,1
    - Dst: PathBuf::split_at
      Src: /src/td-shim/library/ring/src/rsa/public_key.rs:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 3
    argNames:
    - elem
    - n_bits
    - out
    argTypes:
    - bigint::Elem<N>
    - bits::BitLength
    - '&mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN]'
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: fill_be_bytes_n
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key.rs
    functionUses: 1
    functionsReached:
    - BitLength::as_usize_bytes_rounded_up
    - PathBuf::split_at
    - Elem::fill_be_bytes
    linkageType: ''
    returnType: '&[u8]'
    signature: 'fn fill_be_bytes_n(elem: bigint::Elem<N>,n_bits: bits::BitLength,out:
      &mut [u8; PUBLIC_KEY_PUBLIC_MODULUS_MAX_LEN],) -> &[u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:35,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:35,1
    - Dst: field
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:35,1
    - Dst: finish
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut core::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: PublicKeyComponents::fmt
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key_components.rs
    functionUses: 0
    functionsReached:
    - field
    - finish
    - debug_struct
    linkageType: ''
    returnType: Result
    signature: 'fn fmt(&self, f: &mut core::fmt::Formatter<''_>) -> Result<(), core::fmt::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::inner
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:48,1
    - Dst: n
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:48,1
    - Dst: '!::be_bytes'
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:48,1
    - Dst: '[u8; 8]::collect'
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:48,1
    - Dst: Result::inner
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:49,1
    - Dst: e
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:49,1
    - Dst: '&[u8]::be_bytes'
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:49,1
    - Dst: '[u8; 8]::collect'
      Src: /src/td-shim/library/ring/src/rsa/public_key_components.rs:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - public_key
    argTypes:
    - '&PublicKey'
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 11
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: PublicKeyComponents::from
    functionSourceFile: /src/td-shim/library/ring/src/rsa/public_key_components.rs
    functionUses: 0
    functionsReached:
    - e
    - '&[u8]::be_bytes'
    - n
    - '[u8; 8]::collect'
    - Result::inner
    - '!::be_bytes'
    linkageType: ''
    returnType: Self
    signature: 'fn from(public_key: &PublicKey) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: PKCS1::digest_alg
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: fn digest_alg(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pkcs1_encode
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:46,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - m_hash
    - m_out
    - _mod_bits
    - _rng
    argTypes:
    - digest::Digest
    - '&mut [u8]'
    - bits::BitLength
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: PKCS1::encode
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached:
    - Ok
    - pkcs1_encode
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self,m_hash: digest::Digest,m_out: &mut [u8],_mod_bits:
      bits::BitLength,_rng: &dyn rand::SecureRandom,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits::BitLength::as_usize_bytes_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:61,1
    - Dst: pkcs1_encode
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:62,1
    - Dst: u8::read_bytes_to_end
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:63,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:63,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:64,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - m_hash
    - m
    - mod_bits
    argTypes:
    - digest::Digest
    - '&mut untrusted::Reader'
    - bits::BitLength
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: PKCS1::verify
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached:
    - bits::BitLength::as_usize_bytes_rounded_up
    - u8::read_bytes_to_end
    - Ok
    - as_slice_less_safe
    - pkcs1_encode
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,m_hash: digest::Digest,m: &mut untrusted::Reader,mod_bits:
      bits::BitLength,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:77,1
    - Dst: output_len
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:77,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:82,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:90,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:90,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:91,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:92,1
    - Dst: digest::Digest::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 3
    argNames:
    - pkcs1
    - m_hash
    - m_out
    argTypes:
    - '&PKCS1'
    - digest::Digest
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 93
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 93
    functionName: pkcs1_encode
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
    functionUses: 2
    functionsReached:
    - len
    - copy_from_slice
    - output_len
    - split_at_mut
    - digest::Digest::as_ref
    linkageType: ''
    returnType: void
    signature: 'fn pkcs1_encode(pkcs1: &PKCS1, m_hash: digest::Digest, m_out: &mut
      [u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: rsa_pkcs1_padding
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:3,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:4,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:5,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:6,1
    - Dst: into
      Src: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: pkcs1_digestinfo_prefix
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
    functionUses: 0
    functionsReached:
    - into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: PSS::digest_alg
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&''static digest::Algorithm'
    signature: fn digest_alg(&self) -> &'static digest::Algorithm
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSSMetrics::new
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:48,1
    - Dst: split_at_mut
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:68,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:70,1
    - Dst: '&dyn rand::SecureRandom::fill'
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:75,1
    - Dst: pss_digest
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:80,1
    - Dst: fill
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:83,1
    - Dst: super::mgf1
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:89,1
    - Dst: Vec::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:89,1
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:95,1
    - Dst: Vec::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:95,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 62
    argCount: 4
    argNames:
    - m_hash
    - m_out
    - mod_bits
    - rng
    argTypes:
    - digest::Digest
    - '&mut [u8]'
    - bits::BitLength
    - '&dyn rand::SecureRandom'
    constantsTouched: []
    func_position:
      end: 99
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 99
    functionName: PSS::encode
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached:
    - len
    - super::mgf1
    - Vec::as_ref
    - copy_from_slice
    - fill
    - Ok
    - split_at_mut
    - PSSMetrics::new
    - '&dyn rand::SecureRandom::fill'
    - pss_digest
    linkageType: ''
    returnType: Result
    signature: 'fn encode(&self,m_hash: digest::Digest,m_out: &mut [u8],mod_bits:
      bits::BitLength,rng: &dyn rand::SecureRandom,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: PSSMetrics::new
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:111,1
    - Dst: u8::read_byte
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:123,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:124,1
    - Dst: read_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:137,1
    - Dst: read_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:138,1
    - Dst: read_byte
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:141,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:142,1
    - Dst: super::mgf1
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:149,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:149,1
    - Dst: read_all
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:151,1
    - Dst: read_byte
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:153,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:155,1
    - Dst: read_bytes
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:161,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:161,1
    - Dst: bb::xor_assign_at_start
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:162,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:162,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:163,1
    - Dst: iter
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:171,1
    - Dst: any
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:171,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:172,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:175,1
    - Dst: len
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:179,1
    - Dst: pss_digest
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:182,1
    - Dst: as_slice_less_safe
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:185,1
    - Dst: digest::Digest::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:185,1
    - Dst: Err
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:186,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:189,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 123
    argCount: 3
    argNames:
    - m_hash
    - m
    - mod_bits
    argTypes:
    - digest::Digest
    - '&mut untrusted::Reader'
    - bits::BitLength
    constantsTouched: []
    func_position:
      end: 190
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 190
    functionName: PSS::verify
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached:
    - len
    - bb::xor_assign_at_start
    - read_bytes
    - super::mgf1
    - read_byte
    - iter
    - u8::read_byte
    - PSSMetrics::new
    - as_slice_less_safe
    - read_all
    - Ok
    - any
    - digest::Digest::as_ref
    - Err
    - pss_digest
    linkageType: ''
    returnType: Result
    signature: 'fn verify(&self,m_hash: digest::Digest,m: &mut untrusted::Reader,mod_bits:
      bits::BitLength,) -> Result<(), error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bits::BitLength::try_sub_1
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:208,1
    - Dst: as_usize_bytes_rounded_up
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:209,1
    - Dst: as_bits
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:210,1
    - Dst: Option::output_len
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:214,1
    - Dst: checked_sub
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:226,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:226,1
    - Dst: checked_sub
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:227,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:227,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - digest_alg
    - mod_bits
    argTypes:
    - '&''static digest::Algorithm'
    - bits::BitLength
    constantsTouched: []
    func_position:
      end: 239
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 239
    functionName: PSSMetrics::new
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pss.rs
    functionUses: 2
    functionsReached:
    - as_usize_bytes_rounded_up
    - as_bits
    - bits::BitLength::try_sub_1
    - Ok
    - Option::output_len
    - ok_or
    - checked_sub
    linkageType: ''
    returnType: Result
    signature: 'fn new(digest_alg: &''static digest::Algorithm,mod_bits: bits::BitLength,)
      -> Result<Self, error::Unspecified>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: digest::Context::new
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:251,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:252,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:253,1
    - Dst: digest::Digest::as_ref
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:253,1
    - Dst: Self::update
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:254,1
    - Dst: Self::finish
      Src: /src/td-shim/library/ring/src/rsa/padding/pss.rs:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - digest_alg
    - m_hash
    - salt
    argTypes:
    - '&''static digest::Algorithm'
    - digest::Digest
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 256
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 256
    functionName: pss_digest
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pss.rs
    functionUses: 2
    functionsReached:
    - Self::update
    - digest::Digest::as_ref
    - digest::Context::new
    - Self::finish
    linkageType: ''
    returnType: digest::Digest
    signature: 'fn pss_digest(digest_alg: &''static digest::Algorithm,m_hash: digest::Digest,salt:
      &[u8],) -> digest::Digest'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: rsa_pss_padding
    functionSourceFile: /src/td-shim/library/ring/src/rsa/padding/pss.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test::run
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:30,1
    - Dst: Option::consume_usize
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:32,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:34,1
    - Dst: Vec::truncate
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:39,1
    - Dst: Option::consume_bytes
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:43,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:44,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/cavp/tests/shavs.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - digest_alg
    - test_file
    argTypes:
    - '&''static digest::Algorithm'
    - test::File
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 6
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: digest_shavs::run_known_answer_test
    functionSourceFile: /src/td-shim/library/ring/cavp/tests/shavs.rs
    functionUses: 0
    functionsReached:
    - test::run
    - Option::consume_bytes
    - Option::consume_usize
    - Ok
    - digest::digest
    - Vec::truncate
    linkageType: ''
    returnType: void
    signature: 'fn run_known_answer_test(digest_alg: &''static digest::Algorithm,
      test_file: test::File)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bench_with_input'
      Src: /src/td-shim/library/ring/bench/digest.rs:46,1
    - Dst: BenchmarkId::new
      Src: /src/td-shim/library/ring/bench/digest.rs:47,1
    - Dst: Small
      Src: /src/td-shim/library/ring/bench/digest.rs:54,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/bench/digest.rs:61,1
    - Dst: digest::digest
      Src: /src/td-shim/library/ring/bench/digest.rs:62,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/digest.rs:63,1
    - Dst: Digest::as_ref
      Src: /src/td-shim/library/ring/bench/digest.rs:63,1
    - Dst: '&[u8]::len'
      Src: /src/td-shim/library/ring/bench/digest.rs:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: oneshot
    functionSourceFile: /src/td-shim/library/ring/bench/digest.rs
    functionUses: 0
    functionsReached:
    - '!::bench_with_input'
    - Digest::as_ref
    - Option::iter
    - BenchmarkId::new
    - '&[u8]::len'
    - criterion::black_box
    - Small
    - digest::digest
    linkageType: ''
    returnType: void
    signature: 'fn oneshot(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/td-shim/library/ring/bench/aead.rs:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: NonceSequence::new
    functionSourceFile: /src/td-shim/library/ring/bench/aead.rs
    functionUses: 1
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: const fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_from_slice
      Src: /src/td-shim/library/ring/bench/aead.rs:74,1
    - Dst: u64::to_be_bytes
      Src: /src/td-shim/library/ring/bench/aead.rs:74,1
    - Dst: checked_add
      Src: /src/td-shim/library/ring/bench/aead.rs:75,1
    - Dst: ok_or
      Src: /src/td-shim/library/ring/bench/aead.rs:75,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/bench/aead.rs:76,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/bench/aead.rs:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: NonceSequence::advance
    functionSourceFile: /src/td-shim/library/ring/bench/aead.rs
    functionUses: 0
    functionsReached:
    - u64::to_be_bytes
    - copy_from_slice
    - aead::Nonce::assume_unique_for_key
    - Ok
    - ok_or
    - checked_add
    linkageType: ''
    returnType: Result
    signature: fn advance(&mut self) -> Result<aead::Nonce, error::Unspecified>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::benchmark_group'
      Src: /src/td-shim/library/ring/bench/aead.rs:81,1
    - Dst: SystemRandom::new
      Src: /src/td-shim/library/ring/bench/aead.rs:83,1
    - Dst: throughput
      Src: /src/td-shim/library/ring/bench/aead.rs:87,1
    - Dst: criterion::Throughput::BytesDecimal
      Src: /src/td-shim/library/ring/bench/aead.rs:87,1
    - Dst: bench_with_input
      Src: /src/td-shim/library/ring/bench/aead.rs:88,1
    - Dst: bench_id
      Src: /src/td-shim/library/ring/bench/aead.rs:89,1
    - Dst: Self::fill
      Src: /src/td-shim/library/ring/bench/aead.rs:93,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/aead.rs:93,1
    - Dst: aead::UnboundKey::new
      Src: /src/td-shim/library/ring/bench/aead.rs:94,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/aead.rs:94,1
    - Dst: aead::SealingKey::new
      Src: /src/td-shim/library/ring/bench/aead.rs:95,1
    - Dst: NonceSequence::new
      Src: /src/td-shim/library/ring/bench/aead.rs:95,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/bench/aead.rs:99,1
    - Dst: aead::Aad::from
      Src: /src/td-shim/library/ring/bench/aead.rs:100,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/aead.rs:100,1
    - Dst: Result::seal_in_place_separate_tag
      Src: /src/td-shim/library/ring/bench/aead.rs:101,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/aead.rs:101,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/bench/aead.rs:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 108
      start: 80
    functionDepth: 13
    functionLinenumber: 80
    functionLinenumberEnd: 108
    functionName: seal_in_place_separate_tag
    functionSourceFile: /src/td-shim/library/ring/bench/aead.rs
    functionUses: 6
    functionsReached:
    - Result::seal_in_place_separate_tag
    - aead::SealingKey::new
    - NonceSequence::new
    - criterion::Throughput::BytesDecimal
    - Option::iter
    - bench_with_input
    - Result::unwrap
    - aead::Aad::from
    - Self::fill
    - '!::benchmark_group'
    - throughput
    - aead::UnboundKey::new
    - Ok
    - criterion::black_box
    - bench_id
    - SystemRandom::new
    linkageType: ''
    returnType: void
    signature: 'fn seal_in_place_separate_tag(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::benchmark_group'
      Src: /src/td-shim/library/ring/bench/aead.rs:111,1
    - Dst: SystemRandom::new
      Src: /src/td-shim/library/ring/bench/aead.rs:113,1
    - Dst: throughput
      Src: /src/td-shim/library/ring/bench/aead.rs:117,1
    - Dst: criterion::Throughput::BytesDecimal
      Src: /src/td-shim/library/ring/bench/aead.rs:117,1
    - Dst: bench_with_input
      Src: /src/td-shim/library/ring/bench/aead.rs:118,1
    - Dst: bench_id
      Src: /src/td-shim/library/ring/bench/aead.rs:119,1
    - Dst: Self::fill
      Src: /src/td-shim/library/ring/bench/aead.rs:123,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/aead.rs:123,1
    - Dst: aead::UnboundKey::new
      Src: /src/td-shim/library/ring/bench/aead.rs:124,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/aead.rs:124,1
    - Dst: aead::LessSafeKey::new
      Src: /src/td-shim/library/ring/bench/aead.rs:125,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/bench/aead.rs:128,1
    - Dst: aead::Aad::from
      Src: /src/td-shim/library/ring/bench/aead.rs:129,1
    - Dst: Result::seal_in_place_append_tag
      Src: /src/td-shim/library/ring/bench/aead.rs:131,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/aead.rs:131,1
    - Dst: core::cmp::max
      Src: /src/td-shim/library/ring/bench/aead.rs:135,1
    - Dst: len
      Src: /src/td-shim/library/ring/bench/aead.rs:135,1
    - Dst: Option::iter_batched
      Src: /src/td-shim/library/ring/bench/aead.rs:137,1
    - Dst: clone
      Src: /src/td-shim/library/ring/bench/aead.rs:138,1
    - Dst: aead::Nonce::assume_unique_for_key
      Src: /src/td-shim/library/ring/bench/aead.rs:141,1
    - Dst: aead::Aad::from
      Src: /src/td-shim/library/ring/bench/aead.rs:143,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/aead.rs:143,1
    - Dst: Result::open_in_place
      Src: /src/td-shim/library/ring/bench/aead.rs:144,1
    - Dst: Ok
      Src: /src/td-shim/library/ring/bench/aead.rs:146,1
    - Dst: BatchSize::NumBatches
      Src: /src/td-shim/library/ring/bench/aead.rs:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 63
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 154
      start: 110
    functionDepth: 13
    functionLinenumber: 110
    functionLinenumberEnd: 154
    functionName: open_in_place
    functionSourceFile: /src/td-shim/library/ring/bench/aead.rs
    functionUses: 6
    functionsReached:
    - len
    - bench_with_input
    - core::cmp::max
    - bench_id
    - Result::seal_in_place_append_tag
    - Result::open_in_place
    - clone
    - Ok
    - BatchSize::NumBatches
    - Option::iter_batched
    - Self::fill
    - '!::benchmark_group'
    - SystemRandom::new
    - criterion::Throughput::BytesDecimal
    - Result::unwrap
    - aead::Nonce::assume_unique_for_key
    - aead::Aad::from
    - throughput
    - criterion::black_box
    - aead::LessSafeKey::new
    - aead::UnboundKey::new
    linkageType: ''
    returnType: void
    signature: 'fn open_in_place(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BenchmarkId::new
      Src: /src/td-shim/library/ring/bench/aead.rs:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - func_name
    - alg_name
    - record_len
    argTypes:
    - '&str'
    - '&str'
    - usize
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: bench_id
    functionSourceFile: /src/td-shim/library/ring/bench/aead.rs
    functionUses: 2
    functionsReached:
    - BenchmarkId::new
    linkageType: ''
    returnType: BenchmarkId
    signature: 'fn bench_id(func_name: &str, alg_name: &str, record_len: usize) ->
      BenchmarkId'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bench_function'
      Src: /src/td-shim/library/ring/bench/agreement.rs:30,1
    - Dst: bench_name
      Src: /src/td-shim/library/ring/bench/agreement.rs:30,1
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/bench/agreement.rs:31,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/bench/agreement.rs:32,1
    - Dst: EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/bench/agreement.rs:33,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/agreement.rs:33,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/agreement.rs:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 8
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: generate_key
    functionSourceFile: /src/td-shim/library/ring/bench/agreement.rs
    functionUses: 0
    functionsReached:
    - bench_name
    - '!::bench_function'
    - Option::iter
    - Result::unwrap
    - EphemeralPrivateKey::generate
    - rand::SystemRandom::new
    - criterion::black_box
    linkageType: ''
    returnType: void
    signature: 'fn generate_key(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '!::bench_function'
      Src: /src/td-shim/library/ring/bench/agreement.rs:42,1
    - Dst: bench_name
      Src: /src/td-shim/library/ring/bench/agreement.rs:42,1
    - Dst: rand::SystemRandom::new
      Src: /src/td-shim/library/ring/bench/agreement.rs:43,1
    - Dst: EphemeralPrivateKey::generate
      Src: /src/td-shim/library/ring/bench/agreement.rs:44,1
    - Dst: Result::unwrap
      Src: /src/td-shim/library/ring/bench/agreement.rs:44,1
    - Dst: Option::iter
      Src: /src/td-shim/library/ring/bench/agreement.rs:45,1
    - Dst: compute_public_key
      Src: /src/td-shim/library/ring/bench/agreement.rs:46,1
    - Dst: criterion::black_box
      Src: /src/td-shim/library/ring/bench/agreement.rs:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: compute_public_key
    functionSourceFile: /src/td-shim/library/ring/bench/agreement.rs
    functionUses: 7
    functionsReached:
    - bench_name
    - '!::bench_function'
    - Option::iter
    - Result::unwrap
    - EphemeralPrivateKey::generate
    - rand::SystemRandom::new
    - criterion::black_box
    - compute_public_key
    linkageType: ''
    returnType: void
    signature: 'fn compute_public_key(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 2
    argNames:
    - alg_name
    - bench_name
    argTypes:
    - '&str'
    - '&str'
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: bench_name
    functionSourceFile: /src/td-shim/library/ring/bench/agreement.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: String
    signature: 'fn bench_name(alg_name: &str, bench_name: &str) -> String'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: verify_case
    functionSourceFile: /src/td-shim/library/ring/bench/rsa.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ''
    signature: ''
Fuzzer filename: /src/td-shim/td-shim/fuzz/fuzz_targets/secure_boot_payload.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - CcEventLogWriter::new
  - CcEventLogWriter::create_event_log
  - CcEventLogWriter::create_seperator
  - CcEventLogWriter::as_slice
  - CcEventLogWriter::log_pcr_event
  - CcEventLogWriter::log_cc_event
  - CcEventLogWriter::log_cc_event_header
  - CcEventLogWriter::write_data
  - CcEventLogWriter::update_offset
  - CcEventLogWriter::calculate_digest_and_extend
  - CcEventLogWriter::hash_sha384
  - CcEventLogWriter::hash_sha384
  - CcEvents::next
  - CcEventLogReader::new
  - CcEventLogReader::query
  - tests::extender
  - tests::test_cc_eventlog_writter_new
  - tests::test_cc_eventlog_writter_new_with_small_buf
  - tests::test_cc_eventlog_writter
  - tests::test_eventlog_reader_new
  - tests::test_eventlog_reader_new_with_small_buf
  - tests::test_cc_events_iterator
  - tests::test_cc_event_log_reader_query
  source_file: /src/td-shim/cc-measurement/src/log.rs
- function_names:
  - TcgEfiSpecIdevent::new
  - TcgEfiSpecIdevent::as_bytes
  - TcgEfiSpecIdevent::default
  - UefiPlatformFirmwareBlob2::new
  - UefiPlatformFirmwareBlob2::as_bytes
  - CcEventHeader::fmt
  - TpmlDigestValues::fmt
  - TpmuHa::default
  - TcgPcrEventHeader::fmt
  - tests::test_struct_size
  - tests::test_uefi_platform_firmware_blob2
  - tests::test_tpml_digest_value
  - tests::test_cc_event_header
  - tests::test_tcgefispec_id_event
  source_file: /src/td-shim/cc-measurement/src/lib.rs
- function_names:
  - kernel_main
  - tests::test_divided_by_zero
  source_file: /src/td-shim/tests/test-td-exception/src/lib.rs
- function_names:
  - kernel_main
  - tests::setup_paging
  - tests::test_create_paging
  source_file: /src/td-shim/tests/test-td-paging/src/lib.rs
- function_names:
  - TdVE::setup
  - TdVE::run
  - TdVE::teardown
  - TdVE::get_name
  - TdVE::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testtdve.rs
- function_names:
  - MemoryMapConfig::get_size
  - TestMemoryMap::parse_hob
  - TestMemoryMap::verify_memory_map
  - TestMemoryMap::setup
  - TestMemoryMap::run
  - TestMemoryMap::teardown
  - TestMemoryMap::get_name
  - TestMemoryMap::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testmemmap.rs
- function_names:
  - TestTdTrustedBoot::get_rtmr_from_tdreport
  - TestTdTrustedBoot::parse_hob
  - TestTdTrustedBoot::get_rtmr_from_cceltable
  - TestTdTrustedBoot::setup
  - TestTdTrustedBoot::run
  - TestTdTrustedBoot::teardown
  - TestTdTrustedBoot::get_name
  - TestTdTrustedBoot::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testtrustedboot.rs
- function_names:
  - TdAcpiData::default
  - TestTdAcpi::calculate_checksum
  - TestTdAcpi::parse_hob
  - TestTdAcpi::verify_tables
  - TestTdAcpi::setup
  - TestTdAcpi::run
  - TestTdAcpi::teardown
  - TestTdAcpi::get_name
  - TestTdAcpi::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testacpi.rs
- function_names:
  - Tdinfo::setup
  - Tdinfo::run
  - Tdinfo::teardown
  - Tdinfo::get_name
  - Tdinfo::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testtdinfo.rs
- function_names:
  - TestCetShstk::setup
  - TestCetShstk::run
  - TestCetShstk::teardown
  - TestCetShstk::get_name
  - TestCetShstk::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testcetshstk.rs
- function_names:
  - TestCetIbt::setup
  - TestCetIbt::run
  - TestCetIbt::teardown
  - TestCetIbt::get_name
  - TestCetIbt::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testcetibt.rs
- function_names:
  - Tdreport::setup
  - Tdreport::run
  - Tdreport::teardown
  - Tdreport::get_name
  - Tdreport::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testtdreport.rs
- function_names:
  - Tdiorw32::setup
  - Tdiorw32::run
  - Tdiorw32::teardown
  - Tdiorw32::get_name
  - Tdiorw32::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testiorw32.rs
- function_names:
  - TestSuite::run
  source_file: /src/td-shim/tests/test-td-payload/src/lib.rs
- function_names:
  - TestStackGuard::setup
  - TestStackGuard::run
  - TestStackGuard::teardown
  - TestStackGuard::get_name
  - TestStackGuard::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/teststackguard.rs
- function_names:
  - Tdmsrrw::test
  - Tdmsrrw::setup
  - Tdmsrrw::run
  - Tdmsrrw::teardown
  - Tdmsrrw::get_name
  - Tdmsrrw::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testmsrrw.rs
- function_names:
  - build_testcases
  - _start
  - main
  - main
  source_file: /src/td-shim/tests/test-td-payload/src/main.rs
- function_names:
  - Tdiorw8::setup
  - Tdiorw8::run
  - Tdiorw8::teardown
  - Tdiorw8::get_name
  - Tdiorw8::get_result
  source_file: /src/td-shim/tests/test-td-payload/src/testiorw8.rs
- function_names:
  - nasm
  - run_command
  - check_environment
  - real_main
  - get_target_output_dir
  - get_cargo_manifest_dir
  - main
  source_file: /src/td-shim/td-shim/build.rs
- function_names:
  - E820Type::from
  - E820Type::from
  - E820Entry::new
  - tests::test_e820_entry_size
  - tests::test_e820_entry
  - tests::test_e820_type
  source_file: /src/td-shim/td-shim/src/e820.rs
- function_names:
  - TdShimPlatformConfigInfoHeader::new
  - TdShimPlatformConfigInfoHeader::as_bytes
  - create_event_log_platform_config
  - log_hob_list
  - log_payload_binary
  - log_payload_parameter
  - test::test_struct_size
  - test::test_tdshim_platform_configinfo_header
  source_file: /src/td-shim/td-shim/src/event_log.rs
- function_names:
  - CfvPubKeyFileHeader::as_bytes
  - PayloadSignHeader::as_bytes
  - PayloadVerifier::new
  - PayloadVerifier::get_payload_svn
  - PayloadVerifier::get_trust_anchor
  - PayloadVerifier::get_payload_image
  - PayloadVerifier::verify_signature
  - PayloadVerifier::verify_public_key
  - PayloadVerifier::verify
  - test::test_payload_verifier_new
  - test::test_get_payload_image
  - test::test_get_trust_anchor
  - test::test_get_payload_svn
  - test::test_verifier
  source_file: /src/td-shim/td-shim/src/secure_boot.rs
- function_names:
  - ResetVectorHeader::build_tdx_reset_vector_header
  - ResetVectorHeader::as_bytes
  - ResetVectorParams::as_bytes
  - tests::test_resetvector_header
  source_file: /src/td-shim/td-shim/src/reset_vector.rs
- function_names:
  - FvHeader::as_bytes
  - FvHeader::default
  - FvFfsFileHeader::as_bytes
  - tests::test_fv_header
  - tests::test_fvffsfile_header
  - tests::test_fvffssection_header
  source_file: /src/td-shim/td-shim/src/fv.rs
- function_names:
  - u32::from
  - TdPayloadInfoHobType::from
  - write_u24
  - speculation_barrier
  - test::test_tdpayload_info_hob_type
  - test::test_write_u24
  source_file: /src/td-shim/td-shim/src/lib.rs
- function_names:
  - E820Table::default
  - E820Table::new
  - E820Table::as_bytes
  - E820Table::add_range
  - E820Table::convert_range
  - E820Table::able_to_merge
  - E820Table::merge
  - E820Table::insert_entry
  - E820Table::remove_entry
  - E820Table::as_slice
  - tests::test_e820_table_add_range
  - tests::test_e820_table_convert_range
  source_file: /src/td-shim/td-shim/src/bin/td-shim/e820.rs
- function_names:
  - BootTimeStatic::new
  - BootTimeStatic::sections
  - BootTimeStatic::payload_extend_rtmr
  - BootTimeDynamic::new
  - BootTimeDynamic::td_hob
  - BootTimeDynamic::parse_td_hob
  - BootTimeDynamic::parse_metadata
  - tests::test_parse_metadata
  source_file: /src/td-shim/td-shim/src/bin/td-shim/shim_info.rs
- function_names:
  - PayloadHob::new
  - PayloadHob::append
  - PayloadHob::finish
  - PayloadHob::add_resource
  - PayloadHob::add_mem_allocation
  - PayloadHob::add_guided_data
  - PayloadHob::add_cpu
  - PayloadHob::add_fv
  - build_payload_hob
  source_file: /src/td-shim/td-shim/src/bin/td-shim/payload_hob.rs
- function_names:
  - efi_size_to_page
  - efi_page_to_size
  - find_and_report_entry_point
  - tests::test_size_to_page
  - tests::test_parse_elf
  - tests::test_parse_pe
  source_file: /src/td-shim/td-shim/src/bin/td-shim/ipl.rs
- function_names:
  - Memory::new
  - Memory::setup_paging
  - Memory::create_e820
  - Memory::get_dynamic_mem_slice
  - Memory::get_dynamic_mem_slice_mut
  - Memory::get_layout_region
  - Memory::init_memory_resources
  - Memory::support_unaccepted_type
  - Memory::build_unaccepted_memory_bitmap
  - Memory::accept_memory_resources
  - Memory::set_write_protect
  - Memory::set_shared_bit
  - Memory::set_nx_bit
  - Memory::set_not_present
  - memory_top
  - cpu_get_memory_space_size
  - tests::test_constants
  source_file: /src/td-shim/td-shim/src/bin/td-shim/memory.rs
- function_names:
  - init
  source_file: /src/td-shim/td-shim/src/bin/td-shim/heap.rs
- function_names:
  - Madt::default
  - Madt::write
  - Madt::update_checksum
  - Madt::as_bytes
  - create_madt
  - create_madt_default
  - tests::test_create_mdat
  source_file: /src/td-shim/td-shim/src/bin/td-shim/mp.rs
- function_names:
  - panic
  - deadloop
  - _start
  - boot_linux_kernel
  - boot_builtin_payload
  - switch_idt
  - install_acpi_tables
  - prepare_acpi_tables
  - secure_boot_verify_payload
  - __assert_fail
  source_file: /src/td-shim/td-shim/src/bin/td-shim/main.rs
- function_names:
  - AcpiTables::new
  - AcpiTables::finish
  - AcpiTables::install
  - AcpiTables::offset_to_address
  - tests::test_acpi_tables
  source_file: /src/td-shim/td-shim/src/bin/td-shim/acpi.rs
- function_names:
  - ap_relocated_func_addr
  - ap_relocated_func_size
  - empty_exception_handler_size
  source_file: /src/td-shim/td-shim/src/bin/td-shim/asm/mod.rs
- function_names:
  - get_shared_page_mask
  - accept_memory_resource_range
  - relocate_mailbox
  - relocate_ap_page_table
  - set_idt
  - get_num_vcpus
  - extend_rtmr
  source_file: /src/td-shim/td-shim/src/bin/td-shim/td/tdx.rs
- function_names:
  - get_shared_page_mask
  - accept_memory_resource_range
  - get_num_vcpus
  - extend_rtmr
  source_file: /src/td-shim/td-shim/src/bin/td-shim/td/dummy.rs
- function_names: []
  source_file: /src/td-shim/td-shim/src/bin/td-shim/td/mod.rs
- function_names:
  - MailBox::read_volatile
  - MailBox::write_volatile
  - MailBox::new
  - MailBox::apic_id
  - MailBox::fw_arg
  - MailBox::cpu_arrival
  - MailBox::cpu_exiting
  - MailBox::set_command
  - MailBox::set_apic_id
  - MailBox::set_wakeup_vector
  - MailBox::set_fw_arg
  - cpu_pause
  - make_apic_range
  - wait_for_ap_response
  - wait_for_ap_arrive
  - ap_assign_work
  - parallel_accept_memory
  - accept_memory_resource_range
  - relocate_mailbox
  - ap_set_cr3
  - ap_set_idt
  - relocate_page_table
  - set_idt
  source_file: /src/td-shim/td-shim/src/bin/td-shim/td/tdx_mailbox.rs
- function_names:
  - setup_header
  - boot_kernel
  source_file: /src/td-shim/td-shim/src/bin/td-shim/linux/boot.rs
- function_names: []
  source_file: /src/td-shim/td-shim/src/bin/td-shim/linux/mod.rs
- function_names:
  - SetupHeader::from_file
  - BootParams::default
  source_file: /src/td-shim/td-shim/src/bin/td-shim/linux/kernel_param.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim/fuzz/fuzz_targets/afl_secure_boot_payload.rs
- function_names:
  - fuzz_target
  source_file: /src/td-shim/td-shim/fuzz/fuzz_targets/secure_boot_payload.rs
- function_names:
  - fuzz_secure_boot_payload
  - fuzz_secure_boot_cfv
  source_file: /src/td-shim/td-shim/fuzz/fuzz_targets/fuzzlib.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim/fuzz/fuzz_targets/afl_secure_boot_cfv.rs
- function_names:
  - fuzz_target
  source_file: /src/td-shim/td-shim/fuzz/fuzz_targets/secure_boot_cfv.rs
- function_names:
  - init
  - register_handler
  - Idt::default
  - Idt::new
  - Idt::init
  - Idt::idtr
  - Idt::register_handler
  - IdtEntry::new
  - IdtEntry::set_flags
  - IdtEntry::set_offset
  - IdtEntry::set_func
  - IdtEntry::set_ist
  - store_idtr
  - read_idt
  - load_idtr
  source_file: /src/td-shim/td-exception/src/idt.rs
- function_names:
  - setup_exception_handlers
  source_file: /src/td-shim/td-exception/src/lib.rs
- function_names:
  - ScratchRegisters::dump
  - PreservedRegisters::dump
  - IretRegisters::dump
  - InterruptStack::dump
  - InterruptCallback::new
  - InterruptCallbackTable::init
  - init_interrupt_callbacks
  - register_interrupt_callback
  - eoi
  - generic_interrupt_handler
  - default_callback
  - divide_by_zero
  - divide_by_zero
  - debug
  - non_maskable
  - breakpoint
  - overflow
  - bound_range
  - invalid_opcode
  - device_not_available
  - double_fault
  - invalid_tss
  - segment_not_present
  - stack_segment
  - protection
  - page
  - fpu
  - alignment_check
  - machine_check
  - simd
  - control_flow
  - virtualization
  - handle_tdx_ioexit
  - deadloop
  source_file: /src/td-shim/td-exception/src/interrupt.rs
- function_names: []
  source_file: /src/td-shim/td-exception/src/asm/mod.rs
- function_names:
  - init
  - get_hob
  source_file: /src/td-shim/td-payload/src/hob.rs
- function_names:
  - Console::write_str
  source_file: /src/td-shim/td-payload/src/console.rs
- function_names: []
  source_file: /src/td-shim/td-payload/src/event.rs
- function_names:
  - _start
  - console
  - print
  - println
  source_file: /src/td-shim/td-payload/src/lib.rs
- function_names:
  - init_acpi_tables
  - parse_guided_hob
  - get_acpi_tables
  source_file: /src/td-shim/td-payload/src/acpi.rs
- function_names: []
  source_file: /src/td-shim/td-payload/src/arch/mod.rs
- function_names:
  - serial_write_byte
  - serial_write_string
  - io_write
  - io_write
  - io_write
  source_file: /src/td-shim/td-payload/src/arch/x86_64/serial.rs
- function_names:
  - init_idt
  - register
  - idt_set_ist
  source_file: /src/td-shim/td-payload/src/arch/x86_64/idt.rs
- function_names:
  - init_gdt
  - init_tss
  - tss_set_ist
  source_file: /src/td-shim/td-payload/src/arch/x86_64/gdt.rs
- function_names:
  - FrameAlloc::allocate_frame
  - FrameAlloc::deallocate_frame
  - setup_paging
  - identity_map
  - identity_map_page
  - set_nx
  - set_wp
  - set_not_present
  - set_shared_bit
  - clear_shared_bit
  - enable_wp
  - disable_wp
  - offset_pt
  - set_page_flags
  - map_shared
  - pt_set_shared_bit
  - pt_entry_set_shared_bit
  source_file: /src/td-shim/td-payload/src/arch/x86_64/paging.rs
- function_names: []
  source_file: /src/td-shim/td-payload/src/arch/x86_64/mod.rs
- function_names:
  - decrypt
  - encrypt
  - decrypt
  - encrypt
  - accept_memory
  source_file: /src/td-shim/td-payload/src/arch/x86_64/shared.rs
- function_names:
  - init_cet_shstk
  - enable_cet_shstk
  - enable_cet_ibt
  - is_shstk_available
  - is_ibt_available
  - enable_cet
  - disable_cet
  - enable_cet_shstk_guard_page
  source_file: /src/td-shim/td-payload/src/arch/x86_64/cet.rs
- function_names:
  - set_guard_page
  - set_exception_stack
  source_file: /src/td-shim/td-payload/src/arch/x86_64/guard_page.rs
- function_names:
  - pre_init
  - init
  - jump_to_next
  source_file: /src/td-shim/td-payload/src/arch/x86_64/init.rs
- function_names:
  - enable_apic_interrupt
  - enable_and_hlt
  - disable
  - one_shot_tsc_deadline_mode
  - one_shot_tsc_deadline_mode_reset
  - one_shot
  - one_shot_reset
  source_file: /src/td-shim/td-payload/src/arch/x86_64/apic.rs
- function_names:
  - test_stack
  - bench_stack
  source_file: /src/td-shim/td-payload/src/bin/example/stack.rs
- function_names:
  - mp_test
  source_file: /src/td-shim/td-payload/src/bin/example/mp.rs
- function_names:
  - main
  - main
  source_file: /src/td-shim/td-payload/src/bin/example/main.rs
- function_names:
  - init_pt_frame_allocator
  - alloc_pt_frame
  - free_pt_frame
  source_file: /src/td-shim/td-payload/src/mm/page_table.rs
- function_names:
  - heap::init_heap
  - init_ram
  - end_of_ram
  - get_usable
  - get_e820_table
  - parse_guided_hob
  source_file: /src/td-shim/td-payload/src/mm/mod.rs
- function_names:
  - init_shared_memory
  - init_shared_memory_with_shadow
  - SharedMemory::new
  - SharedMemory::copy_to_private_shadow
  - SharedMemory::as_bytes
  - SharedMemory::as_mut_bytes
  - SharedMemory::drop
  - alloc_shared_pages
  - alloc_shared_page
  - free_shared_pages
  - free_shared_page
  - alloc_private_shadow_pages
  source_file: /src/td-shim/td-payload/src/mm/shared.rs
- function_names:
  - panic
  - init_heap
  source_file: /src/td-shim/td-payload/src/mm/heap.rs
- function_names:
  - RuntimeLayout::default
  source_file: /src/td-shim/td-payload/src/mm/layout.rs
- function_names:
  - FrameAlloc::new
  - FrameAlloc::alloc
  - FrameAlloc::free
  - FrameAlloc::reserve
  - BMFrameAllocator::empty
  - BMFrameAllocator::new
  - BMFrameAllocator::alloc
  - BMFrameAllocator::reserve
  - BMFrameAllocator::allocate_frame
  - init
  - tests::test_frame_alloc
  - tests::test_frame_free_invalid_index
  - tests::test_frame_free_invalid_state
  - tests::test_frame_reserve_invalid_index
  - tests::test_frame_reserve_invalid_state
  - tests::test_empty_bm_allocator
  - tests::test_bm_allocator
  source_file: /src/td-shim/td-paging/src/frame.rs
- function_names:
  - cr3_write
  - map_page
  - create_mapping_with_flags
  - create_mapping
  - set_page_flags
  - tests::create_pt
  - tests::test_invalid_pa_sz
  - tests::test_invalid_va_sz
  source_file: /src/td-shim/td-paging/src/page_table.rs
- function_names: []
  source_file: /src/td-shim/td-paging/src/consts.rs
- function_names:
  - init
  - reserve_page
  source_file: /src/td-shim/td-paging/src/lib.rs
- function_names:
  - main
  - run_test_command
  - create_disk_images
  - locate_manifest
  - locate_bootloader
  - metadata
  source_file: /src/td-shim/devtools/test-runner-server/src/main.rs
- function_names:
  - register_builtins
  - now
  - date
  - filesizeformat
  - render_image
  - render_memory
  - format_hex
  - format_name
  - format_layout_border
  source_file: /src/td-shim/devtools/td-layout-config/src/render.rs
- function_names:
  - parse_image
  source_file: /src/td-shim/devtools/td-layout-config/src/image.rs
- function_names:
  - parse_memory
  source_file: /src/td-shim/devtools/td-layout-config/src/memory.rs
- function_names: []
  source_file: /src/td-shim/devtools/td-layout-config/src/lib.rs
- function_names:
  - main
  - output
  source_file: /src/td-shim/devtools/td-layout-config/src/main.rs
- function_names:
  - LayoutEntry::new
  - LayoutEntry::fmt
  - LayoutConfig::new
  - LayoutConfig::reserve_low
  - LayoutConfig::reserve_high
  - LayoutConfig::get_total_usage
  - LayoutConfig::get_regions
  - LayoutConfig::get_base
  - LayoutConfig::get_top
  - LayoutConfig::free_base
  - LayoutConfig::free_top
  - LayoutConfig::get_layout_region
  - LayoutConfig::fmt
  - test::test_basic
  source_file: /src/td-shim/devtools/td-layout-config/src/layout.rs
- function_names:
  - StackProfiling::init
  - StackProfiling::stack_usage
  - mark_stack
  - calculate_stack_usage
  - test::stack_use
  - test::stack_use_profiling
  - test::stack_use_invalid
  - test::function_use_stack
  source_file: /src/td-shim/devtools/td-benchmark/src/stack.rs
- function_names:
  - HeapProfiling::init
  - HeapProfiling::heap_usage
  - AllocInfo::empty
  - AllocInfo::init
  - AllocInfo::get_max_heap
  - Alloc::alloc
  - Alloc::dealloc
  source_file: /src/td-shim/devtools/td-benchmark/src/heap.rs
- function_names: []
  source_file: /src/td-shim/devtools/td-benchmark/src/lib.rs
- function_names:
  - _print
  - serial_print
  - serial_println
  source_file: /src/td-shim/devtools/test-runner-client/src/serial.rs
- function_names:
  - panic
  - init_heap
  - test_runner
  - T::run
  - exit_qemu
  source_file: /src/td-shim/devtools/test-runner-client/src/lib.rs
- function_names:
  - tdlog
  - LoggerBackend::enabled
  - LoggerBackend::log
  - LoggerBackend::flush
  - init
  - dbg_write_byte
  - dbg_write_string
  - dbg_port_write
  - dbg_port_write
  - dbg_port_write
  - dbg_port_write
  - dbg_port_write
  - tests::test_logger
  source_file: /src/td-shim/td-logger/src/lib.rs
- function_names:
  - Logger::write_byte
  - Logger::write_string
  - Logger::get_level
  - Logger::set_level
  - Logger::get_mask
  - Logger::set_mask
  - Logger::write_str
  - _log_ex
  - _log
  source_file: /src/td-shim/td-logger/src/logger.rs
- function_names:
  - bin_path
  - build_test_image
  - test_patch_metadata_missing_args
  - test_patch_metadata_patches_signature_and_zeros_attributes
  - test_patch_metadata_invalid_image
  - test_patch_params_missing_args
  - test_patch_params_writes_td_params_region
  - test_patch_params_invalid_json
  - test_patch_td_info_missing_args
  - test_patch_td_info_writes_header_and_blob
  - test_patch_td_info_blob_too_large
  - test_patch_no_subcommand
  - test_patch_unknown_subcommand
  - test_patch_help
  source_file: /src/td-shim/td-shim-tools/tests/patch-test.rs
- function_names:
  - bin_path
  - write_layout
  - test_metadata_gen_with_layout
  - write_memory_layout
  - test_metadata_gen_with_perm_mem
  - test_metadata_gen_with_multiple_perm_mem
  - test_metadata_gen_with_additional_temp_mem
  - test_metadata_gen_overlap_detection
  - test_metadata_gen_layout_without_tdparams
  - test_metadata_gen_sample_nrx_image_template
  - test_metadata_gen_missing_args
  - test_metadata_gen_missing_layout_file
  - test_metadata_gen_duplicate_args
  source_file: /src/td-shim/td-shim-tools/tests/metadata-gen-test.rs
- function_names:
  - bin_path
  - test_image_layout_missing_args
  - test_image_layout_missing_payload_binary
  - test_image_layout_missing_project_root
  - test_image_layout_unknown_argument
  - test_image_layout_duplicate_project_root
  - test_image_layout_nonexistent_artifacts
  source_file: /src/td-shim/td-shim-tools/tests/image-layout-gen-test.rs
- function_names:
  - TdxMetadataSection::as_bytes
  - u32_deserialize
  - u64_deserialize
  - type_deserialize
  - MetadataSections::default
  - MetadataSections::new
  - MetadataSections::as_slice
  - MetadataSections::add
  - basic_metadata_sections
  - default_metadata_sections
  - TdxMetadata::new
  - TdxMetadata::to_vec
  - test::test_deserialize_metadata
  - test::test_deserialize_invalid_metadata
  source_file: /src/td-shim/td-shim-tools/src/metadata.rs
- function_names:
  - update_checksum
  - FirmwareRawFile::new
  - FirmwareRawFile::append
  - FirmwareRawFile::as_bytes
  - build_cfv_header
  - build_cfv_ffs_header
  - enroll_files
  - create_key_file
  - test::read_u24
  - test::test_firmware_file
  source_file: /src/td-shim/td-shim-tools/src/enroller.rs
- function_names:
  - Image::open
  - Image::write
  - ParsedMetadata::from_image
  - ParsedMetadata::find_section
  source_file: /src/td-shim/td-shim-tools/src/image.rs
- function_names:
  - PayloadSigner::new
  - PayloadSigner::sign
  - PayloadSigner::build_header
  source_file: /src/td-shim/td-shim-tools/src/signer.rs
- function_names:
  - InputData::new
  - InputData::clear
  - InputData::as_bytes
  - OutputFile::new
  - OutputFile::seek_and_write
  - OutputFile::write
  - OutputFile::flush
  - OutputFile::current_pos
  source_file: /src/td-shim/td-shim-tools/src/lib.rs
- function_names:
  - AlgorithmIdentifier::decode
  - SubjectPublicKeyInfo::decode
  - SubjectPublicKeyInfo::try_from
  - RsaPublicKeyInfo::decode
  - RsaPublicKeyInfo::try_from
  source_file: /src/td-shim/td-shim-tools/src/public_key.rs
- function_names:
  - FvHeaderByte::default
  - FvHeaderByte::build_tdx_payload_fv_header
  - FvHeaderByte::build_tdx_ipl_fv_header
  - build_tdx_metadata
  - build_ovmf_guid_table
  - build_tdx_metadata_ptr
  - ImageFormat::default
  - ImageFormat::from_str
  - PayloadType::default
  - PayloadType::from_str
  - insert_igvm_pages
  - TdShimLinker::set_payload_relocation
  - TdShimLinker::set_output_file
  - TdShimLinker::set_image_format
  - TdShimLinker::set_payload_type
  - TdShimLinker::build
  - TdShimLinker::build_igvm
  - TdShimLinker::build_tdvf
  source_file: /src/td-shim/td-shim-tools/src/linker.rs
- function_names:
  - read_from_file
  - read_from_binary_file
  source_file: /src/td-shim/td-shim-tools/src/read_file.rs
- function_names:
  - TdInfoStruct::default
  - TdInfoStruct::fmt
  - TdInfoStruct::pack
  - TdInfoStruct::build_mrtd
  - TdInfoStruct::build_igvmmrtd
  - TdInfoStruct::read_igvmcfvdata
  - TdInfoStruct::build_rtmr_with_seperator
  - fill_buffer128_with_mem_page_add
  - fill_buffer3_128_with_mr_extend_tdvf
  source_file: /src/td-shim/td-shim-tools/src/tee_info_hash.rs
- function_names:
  - Config::new
  - main
  - create_firmware_files
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-enroll/main.rs
- function_names:
  - kernel
  - param
  - qemu
  - qemu_patch
  - get_image_regions
  - padding_digest
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-payload-reference-calculator/main.rs
- function_names:
  - Config::new
  - dump_tdx_metadata
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-checker/main.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-sign-payload/main.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-ld/main.rs
- function_names:
  - Config::new
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-tee-info-hash/main.rs
- function_names:
  - generate_image_layout
  - show_help
  - prepare_args
  - main
  - resolve_target_dir
  - cargo_build_directory_with_fallback
  - artifact_path
  - file_size
  - parse_optional
  - parse_size
  - format_size
  - align_up
  - elf64_max_vaddr_filesz
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-image-layout-gen/main.rs
- function_names:
  - format_guid
  - format_hash
  - LayoutField::deserialize
  - parse_field_type
  - print_payload_with_layout
  - parse_layout
  - print_metadata
  - xxd_dump
  - print_td_info
  - print_td_params
  - usage
  - run
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-info/main.rs
- function_names:
  - patch_metadata
  - show_help
  - parse_hex_u32
  - prepare_args
  - run
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/metadata.rs
- function_names:
  - patch_td_info
  - parse_guid
  - parse_version
  - show_help
  - prepare_args
  - run
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_info.rs
- function_names:
  - patch_params
  - serialize_td_params
  - parse_json_u64
  - parse_json_u32
  - parse_json_u16
  - parse_json_u8
  - parse_json_bytes
  - parse_hex_u64
  - parse_hex_u32
  - parse_hex_u16
  - parse_hex_u8
  - show_help
  - prepare_args
  - run
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/td_params.rs
- function_names:
  - print_help
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-patch/main.rs
- function_names:
  - PESectionTable::read_bytes
  - get_entry_fa
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-strip-info/main.rs
- function_names:
  - show_help
  - parse_hex
  - parse_hex_u64
  - parse_memory_layout
  - generate_from_layout
  - check_memory_overlaps
  - prepare_args
  - main
  source_file: /src/td-shim/td-shim-tools/src/bin/td-shim-metadata-gen/main.rs
- function_names:
  - tdvmcall_report_fatal_error
  - tdvmcall_halt
  - tdvmcall_sti_halt
  - tdvmcall_io_read_8
  - tdvmcall_io_read_16
  - tdvmcall_io_read_32
  - tdvmcall_io_write_8
  - tdvmcall_io_write_16
  - tdvmcall_io_write_32
  - tdvmcall_mmio_write
  - tdvmcall_mmio_read
  - tdvmcall_mapgpa
  - tdvmcall_rdmsr
  - tdvmcall_wrmsr
  - tdvmcall_cpuid
  - tdvmcall_setup_event_notify
  - tdvmcall_get_quote
  - tdvmcall_service
  - tdvmcall_migtd_waitforrequest
  - tdvmcall_migtd_reportstatus
  - tdvmcall_migtd_send
  - tdvmcall_migtd_receive
  - tdcall_get_td_info
  - tdcall_extend_rtmr
  - tdcall_get_ve_info
  - tdcall_accept_page
  - td_accept_pages
  - td_accept_memory
  - td_shared_mask
  - tdcall_servtd_rd
  - tdcall_servtd_rebind_approve
  - tdcall_servtd_wr
  - tdcall_sys_rd
  - tdcall_vp_read
  - tdcall_vp_write
  - tdcall_vp_invvpid
  - tdcall_vp_invept
  - tdcall_vp_enter
  - tdcall_vm_read
  - tdcall_vm_write
  - tdcall_mem_page_attr_wr
  - tdcall_tdg_debug_write_8
  - tests::test_struct_size_alignment
  - tests::test_tdcall_servtd_rd
  - tests::test_tdcall_servtd_wr
  source_file: /src/td-shim/tdx-tdcall/src/tdx.rs
- function_names:
  - ReportMac::as_bytes
  - ReportMac::fmt
  - TeeTcbInfo::fmt
  - TeeTcbInfo::as_bytes
  - TdInfo::as_bytes
  - TdInfo::fmt
  - TdxReport::fmt
  - TdxReport::as_bytes
  - TdxReport::as_bytes_mut
  - TdxReport::read_from_bytes
  - TdxReport::default
  - tdcall_report
  - tdcall_verify_report
  - tests::test_tdx_report_size
  source_file: /src/td-shim/tdx-tdcall/src/tdreport.rs
- function_names:
  - td_vmcall
  - td_vmcall_ex
  - td_vmcall_ex2
  - td_call
  - TdCallError::from
  - TdVmcallError::from
  source_file: /src/td-shim/tdx-tdcall/src/lib.rs
- function_names: []
  source_file: /src/td-shim/tdx-tdcall/src/asm/mod.rs
- function_names:
  - tag_to_str
  - et_to_str
  - ELFHeader64::fmt
  - pt_to_str
  - ProgramHeader::is_executable
  - ProgramHeader::is_write
  - ProgramHeader::fmt
  - ProgramHeaders::parse
  - ProgramHeaders::next
  - SectionHeader::vm_range
  - SectionHeaders::parse
  - SectionHeaders::next
  - Dyn::fmt
  - Dyns::parse
  - Dyns::next
  - vm_to_offset
  - Rela::r_sym
  - Rela::r_type
  - Rela::fmt
  - Relocs::parse
  - Relocs::next
  - Elf::parse
  - Elf::dynamic_info
  - Elf::program_headers
  - Elf::section_headers
  - Elf::relocations
  - get_init_array
  - test_elf_loader::test_elfheader
  - test_elf_loader::test_to_str
  - test_elf_loader::test_vm_range
  - test_elf_loader::test_programheaders_iterator
  - test_elf_loader::test_sectionheaders_iterator
  - test_elf_loader::test_dyns_iterator
  source_file: /src/td-shim/td-loader/src/elf64.rs
- function_names:
  - is_x86_64_pe
  - relocate
  - relocate_pe_mem_with_per_sections
  - relocate_with_per_section
  - Section::fmt
  - Section::is_executable
  - Section::is_write
  - Section::section_virtual_address
  - Section::section_size
  - Sections::parse
  - Sections::next
  - RelocationEntries::parse
  - RelocationEntries::next
  - Relocations::parse
  - Relocations::next
  - reloc_to_base
  - test::test_is_pe
  - test::test_sections
  - test::test_relocate_pe_mem_with_per_sections
  - test::test_relocate
  - test::test_sections_iterator
  source_file: /src/td-shim/td-loader/src/pe.rs
- function_names:
  - is_elf
  - relocate_elf_mem_with_per_program_header
  - relocate_elf_with_per_program_header
  - parse_pre_init_array_section
  - parse_init_array_section
  - parse_finit_array_section
  - align_value
  - test_elf_loader::test_is_elf
  - test_elf_loader::test_relocate
  - test_elf_loader::test_relocate_mem
  source_file: /src/td-shim/td-loader/src/elf.rs
- function_names: []
  source_file: /src/td-shim/td-loader/src/lib.rs
- function_names:
  - main
  source_file: /src/td-shim/td-loader/fuzz/fuzz_targets/afl_elf.rs
- function_names: []
  source_file: /src/td-shim/td-loader/fuzz/fuzz_targets/pe.rs
- function_names: []
  source_file: /src/td-shim/td-loader/fuzz/fuzz_targets/elf.rs
- function_names:
  - fuzz_elf_loader
  - fuzz_pe_loader
  source_file: /src/td-shim/td-loader/fuzz/fuzz_targets/fuzzlib.rs
- function_names:
  - main
  source_file: /src/td-shim/td-loader/fuzz/fuzz_targets/afl_pe.rs
- function_names:
  - LogLevel::debug_feature
  - LogLevel::relase_feature
  - BuildArgs::build
  - BuildArgs::build_shim_layout
  - BuildArgs::build_shim
  - BuildArgs::build_example_payload
  - BuildArgs::build_image
  - BuildArgs::enroll
  - BuildArgs::payload_type
  - BuildArgs::profile
  - BuildArgs::profile_path
  - BuildArgs::features
  - BuildArgs::output
  - BuildArgs::enroll_key_hash_alg
  - BuildArgs::strip
  source_file: /src/td-shim/xtask/src/build.rs
- function_names:
  - main
  source_file: /src/td-shim/xtask/src/main.rs
- function_names:
  - SliceType::as_str
  - SliceType::fmt
  - get_mem_slice
  - get_mem_slice_mut
  - test::test_get_mem_slice_with_type_config
  - test::test_get_mem_slice_with_type_builtin_payload
  - test::test_get_mem_slice_with_type_payload
  - test::test_get_mem_slice_with_type_payloadhob
  - test::test_get_mem_slice_with_type_mailbox
  - test::test_get_mem_slice_with_type_eventlog
  - test::test_get_mem_slice_with_type_acpi
  - test::test_get_mem_slice_mut_with_type_mailbox
  - test::test_get_mem_slice_mut_with_type_builtin_payload
  - test::test_get_mem_slice_mut_with_type_config
  - test::test_get_mem_slice_mut_with_type_payloadhob
  - test::test_get_mem_slice_mut_with_type_eventlog
  - test::test_get_mem_slice_mut_with_type_acpi
  - test::test_get_mem_slice_mut_with_type_payload
  source_file: /src/td-shim/td-layout/src/memslice.rs
- function_names:
  - LayoutRegion::default
  - RuntimeMemoryLayout::new
  - RuntimeMemoryLayout::regions
  - RuntimeMemoryLayout::get_region
  - RuntimeMemoryLayout::get_mem_slice
  - RuntimeMemoryLayout::get_mem_slice_mut
  source_file: /src/td-shim/td-layout/src/lib.rs
- function_names:
  - TdxMpWakeupMailbox::default
  - TdxMpWakeupMailbox::as_bytes
  - tests::ensure_data_struct_size
  - tests::test_tdx_mp_wakeup_mailbox
  source_file: /src/td-shim/td-layout/src/mailbox.rs
- function_names: []
  source_file: /src/td-shim/td-layout/src/build_time.rs
- function_names: []
  source_file: /src/td-shim/td-layout/src/runtime/linux.rs
- function_names: []
  source_file: /src/td-shim/td-layout/src/runtime/mod.rs
- function_names: []
  source_file: /src/td-shim/td-layout/src/runtime/exec.rs
- function_names:
  - TdxMetadataDescriptor::default
  - TdxMetadataDescriptor::set_sections
  - TdxMetadataDescriptor::is_valid
  - TdxMetadataDescriptor::as_bytes
  - TdxMetadataSection::get_type_name
  - TdxMetadataSection::as_bytes
  - TdxMetadataGuid::is_valid
  - TdxMetadataGuid::as_bytes
  - TdxMetadataGuid::from_bytes
  - TdxMetadataGuid::default
  - validate_sections
  - TdxMetadataPtr::as_bytes
  - tests::ensure_data_struct_size
  - tests::test_tdx_metadata_descriptor
  - tests::test_tdx_metadata_guid
  - tests::test_tdx_metadata_section
  - tests::test_validate_sections
  - tests::test_tdxmetadataptr
  source_file: /src/td-shim/td-shim-interface/src/metadata.rs
- function_names:
  - u32::from
  - TdPayloadInfoHobType::from
  - write_u24
  - speculation_barrier
  - test::test_tdpayload_info_hob_type
  - test::test_write_u24
  source_file: /src/td-shim/td-shim-interface/src/lib.rs
- function_names:
  - TdShimLoader::parse
  source_file: /src/td-shim/td-shim-interface/src/loader.rs
- function_names:
  - calculate_checksum
  - Rsdp::new
  - Rsdp::set_xsdt
  - Rsdp::checksum
  - GenericSdtHeader::new
  - GenericSdtHeader::set_checksum
  - Xsdt::new
  - Xsdt::add_table
  - Xsdt::checksum
  - Ccel::new
  - Ccel::checksum
  - tests::test_calculate_checksum
  - tests::test_rsdp
  - tests::test_xsdt
  - tests::test_ccel
  source_file: /src/td-shim/td-shim-interface/src/acpi.rs
- function_names:
  - align_to_next_hob_offset
  - seek_to_next_hob
  - check_hob_length
  - check_hob_integrity
  - dump_hob
  - get_system_memory_size_below_4gb
  - get_total_memory_top
  - get_fv
  - get_next_extension_guid_hob
  - get_guid_data
  - tests::test_align_to_next_hob
  - tests::test_dump_hob
  - tests::test_check_hob_length
  - tests::test_check_hob_integrity
  - tests::test_get_total_memory_top
  - tests::test_seek_to_next_hob
  - tests::test_get_system_memory_size_below_4gb
  - tests::test_get_fv
  - tests::test_get_guid
  - speculation_barrier
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/hob.rs
- function_names:
  - read_fv_header
  - validate_ffs_file_header
  - get_image_from_fv
  - get_file_from_fv
  - get_image_from_sections
  - CommonSectionHeaderType::r#type
  - Sections::parse
  - Sections::next
  - FfsFileHeaderType::r#type
  - FfsFileHeaderType::name
  - FfsFileHeaderType::validate
  - Files::parse
  - Files::next
  - test::test_get_image_from_fv
  - test::test_get_image_from_fv_with_wrong_signature
  - test::test_get_image_from_fv_with_wrong_fv_file_type
  - test::test_get_image_from_fv_with_wrong_section_type
  - test::test_get_file_from_fv
  - test::test_get_file_from_fv_with_wrong_signature
  - test::test_get_file_from_fv_with_wrong_guid
  - test::test_read_fvh
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/fv.rs
- function_names: []
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/mod.rs
- function_names: []
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/boot_mode.rs
- function_names:
  - Header::dump
  - Header::as_bytes
  - HandoffInfoTable::dump
  - HandoffInfoTable::as_bytes
  - MemoryAllocationHeader::as_bytes
  - MemoryAllocation::dump
  - MemoryAllocation::as_bytes
  - ResourceDescription::dump
  - ResourceDescription::as_bytes
  - FirmwareVolume::dump
  - FirmwareVolume::as_bytes
  - FirmwareVolume2::as_bytes
  - FirmwareVolume3::as_bytes
  - Cpu::dump
  - Cpu::as_bytes
  - GuidExtension::as_bytes
  - tests::test_size_of_struct
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/hob.rs
- function_names:
  - sum8
  - sum16
  - FirmwareVolumeHeader::as_bytes
  - FirmwareVolumeHeader::update_checksum
  - FirmwareVolumeHeader::validate_checksum
  - FvBlockMap::as_bytes
  - FirmwareVolumeExtHeader::as_bytes
  - FirmwareVolumeExtEntry::as_bytes
  - FfsFileHeader::as_bytes
  - FfsFileHeader::update_checksum
  - FfsFileHeader::validate_checksum
  - FfsFileHeader2::update_checksum
  - FfsFileHeader2::as_bytes
  - FfsFileHeader2::validate_checksum
  - ffs_header_validate_checksum
  - CommonSectionHeader::as_bytes
  - CommonSectionHeader2::as_bytes
  - tests::test_fvh_checksum
  - tests::test_ffsh_checksum
  - tests::test_update_checksum
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/fv.rs
- function_names: []
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/mod.rs
- function_names:
  - Guid::from_fields
  - Guid::as_bytes
  - Guid::from_bytes
  - Guid::from_str
  - test::test_guid
  source_file: /src/td-shim/td-shim-interface/src/td_uefi_pi/pi/guid.rs
- function_names:
  - fuzz_target
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/hob_parser.rs
- function_names: []
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/payload_parser.rs
- function_names: []
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/cfv_parser.rs
- function_names:
  - fuzz_hob_parser
  - fuzz_payload_parser
  - fuzz_cfv_parser
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/fuzzlib.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/afl_hob_parser.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/afl_cfv_parser.rs
- function_names:
  - main
  source_file: /src/td-shim/td-shim-interface/fuzz/fuzz_targets/afl_payload_parser.rs
- function_names:
  - env::var_os
  - env::var
  - cpp_flags
  - AsmTarget::use_nasm
  - main
  - ring_build_rs_main
  - pregenerate_asm_main
  - generate_sources_and_preassemble
  - build_c_code
  - new_build
  - build_library
  - obj_path
  - configure_cc
  - nasm
  - run_command_with_args
  - run_command
  - sources_for_arch
  - perlasm_src_dsts
  - asm_srcs
  - is_perlasm
  - asm_path
  - perlasm
  - join_components_with_forward_slashes
  - get_perl_exe
  - get_command
  - emit_rerun_if_changed
  - walk_dir
  - generate_prefix_symbols_headers
  - generate_prefix_symbols_header
  - prefix_all_symbols
  source_file: /src/td-shim/library/ring/build.rs
- function_names:
  - error_impl_std_error_error_test
  source_file: /src/td-shim/library/ring/tests/error_tests.rs
- function_names:
  - ecdsa_from_pkcs8_test
  - ecdsa_generate_pkcs8_test
  - signature_ecdsa_verify_asn1_test
  - signature_ecdsa_verify_fixed_test
  - ecdsa_test_public_key_coverage
  - signature_ecdsa_sign_fixed_sign_and_verify_test
  - signature_ecdsa_sign_asn1_test
  source_file: /src/td-shim/library/ring/tests/ecdsa_tests.rs
- function_names:
  - hkdf_tests
  - hkdf_output_len_tests
  - My::len
  - My::from
  source_file: /src/td-shim/library/ring/tests/hkdf_tests.rs
- function_names:
  - test_signature_ed25519
  - test_signature_ed25519_verify
  - test_signature_verification
  - test_ed25519_from_seed_and_public_key_misuse
  - test_ed25519_from_pkcs8_unchecked
  - test_ed25519_from_pkcs8
  - test_ed25519_from_pkcs8_
  - ed25519_test_generate_pkcs8
  - ed25519_test_public_key_coverage
  source_file: /src/td-shim/library/ring/tests/ed25519_tests.rs
- function_names:
  - pbkdf2_tests
  source_file: /src/td-shim/library/ring/tests/pbkdf2_tests.rs
- function_names:
  - hmac_tests
  - hmac_test_case_inner
  - hmac_debug
  source_file: /src/td-shim/library/ring/tests/hmac_tests.rs
- function_names:
  - rsa_from_pkcs8_test
  - test_signature_rsa_pkcs1_sign
  - test_signature_rsa_pss_sign
  - test_signature_rsa_pkcs1_sign_output_buffer_len
  - test_signature_rsa_pkcs1_verify
  - test_signature_rsa_pss_verify
  - test_signature_rsa_primitive_verification
  - rsa_test_keypair_coverage
  - test_public_key_coverage
  source_file: /src/td-shim/library/ring/tests/rsa_tests.rs
- function_names:
  - signature_impl_test
  source_file: /src/td-shim/library/ring/tests/signature_tests.rs
- function_names:
  - agreement_traits
  - agreement_agree_ephemeral
  - t::e::s::t::_::a::g::r::e::e::m::e::n::t::_::e::c::d::h::_::x::2::5::5::1::9::_::r::f::c::_::i::t::e::r::a::t::e::d::expect_iterated_x25519
  - test_agreement_ecdh_x25519_rfc_iterated
  - x25519
  - x25519_
  - h
  - alg_from_curve_name
  source_file: /src/td-shim/library/ring/tests/agreement_tests.rs
- function_names:
  - quic_aes_128
  - quic_aes_256
  - quic_chacha20
  - test_quic
  - test_key_len
  - test_sample_len
  source_file: /src/td-shim/library/ring/tests/quic_tests.rs
- function_names:
  - test_system_random_lengths
  - test_system_random_traits
  source_file: /src/td-shim/library/ring/tests/rand_tests.rs
- function_names:
  - digest_misc
  - test_i_u_f
  - test_fmt_algorithm
  - digest_test_fmt
  source_file: /src/td-shim/library/ring/tests/digest_tests.rs
- function_names:
  - test_known_answer
  - test_aead
  - test_aead
  - test_seal_append_tag
  - test_seal_separate_tag
  - test_open_in_place
  - test_open_in_place_seperate_tag
  - test_open_within
  - sealing_key_seal_in_place_append_tag
  - sealing_key_seal_in_place_separate_tag
  - opening_key_open_in_place
  - opening_key_open_within
  - less_safe_key_seal_in_place_append_tag
  - less_safe_key_open_in_place
  - less_safe_key_seal_in_place_separate_tag
  - less_safe_key_open_within
  - key_sizes
  - test_aead_nonce_sizes
  - aead_chacha20_poly1305_openssh
  - aead_test_aad_traits
  - test_nonce_traits
  - test_tag_traits
  - test_aead_key_traits
  - test_aead_key_traits_all
  - test_aead_key_debug
  - test_aead_lesssafekey_clone_for_algorithm
  - test_aead_lesssafekey_clone_aes_128_gcm
  - test_aead_lesssafekey_clone_aes_256_gcm
  - test_aead_lesssafekey_clone_chacha20_poly1305
  - make_key
  - make_less_safe_key
  - OneNonceSequence::new
  - OneNonceSequence::advance
  source_file: /src/td-shim/library/ring/tests/aead_tests.rs
- function_names:
  - test_verify_slices_are_equal
  source_file: /src/td-shim/library/ring/tests/constant_time_tests.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/c.rs
- function_names:
  - BitLength::from_byte_len
  - BitLength::from_byte_len
  - BitLength::from_byte_len
  - BitLength::from_bits
  - BitLength::as_bits
  - BitLength::half_rounded_up
  - BitLength::as_usize_bytes_rounded_up
  - BitLength::try_sub_1
  - BitLength::to_be_bytes
  - BitLength::from
  - BitLength::try_from
  source_file: /src/td-shim/library/ring/src/bits.rs
- function_names:
  - core::result::Result::from
  - tests::size_and_alignment
  - tests::semantics
  source_file: /src/td-shim/library/ring/src/bssl.rs
- function_names:
  - derive_debug_via_id
  - derive_debug_via_field
  - derive_debug_self_as_ref_hex_bytes
  - write_hex_tuple
  - HexStr::fmt
  - write_hex_bytes
  source_file: /src/td-shim/library/ring/src/debug.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/arithmetic.rs
- function_names:
  - Template::alg_id_value
  - Template::alg_id_value_
  - Template::curve_oid
  - unwrap_key
  - unwrap_key_
  - unwrap_key__
  - Document::as_ref
  - wrap_key
  - wrap_key_
  source_file: /src/td-shim/library/ring/src/pkcs8.rs
- function_names:
  - Algorithm::digest_algorithm
  - Tag::as_ref
  - Key::fmt
  - Key::generate
  - Key::construct
  - Key::new
  - Key::try_new
  - Key::algorithm
  - Key::sign
  - Key::verify
  - Algorithm::len
  - Key::from
  - Context::fmt
  - Context::with_key
  - Context::update
  - Context::sign
  - Context::try_sign
  - sign
  - verify
  - tests::hmac_signing_key_coverage
  source_file: /src/td-shim/library/ring/src/hmac.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/io.rs
- function_names:
  - limbs_equal_limbs_consttime
  - limbs_less_than_limbs
  - verify_limbs_less_than_limbs_leak_bit
  - limbs_less_than_limbs_vartime
  - limb_is_zero
  - limbs_are_zero
  - limbs_reject_even_leak_bit
  - verify_limbs_equal_1_leak_bit
  - limbs_minimal_bits
  - limbs_reduce_once
  - parse_big_endian_in_range_and_pad_consttime
  - parse_big_endian_and_pad_consttime
  - big_endian_from_limbs
  - unstripped_be_bytes
  - fold_5_bit_windows
  - limbs_add_assign_mod
  - limbs_double_mod
  - limbs_negative_odd
  - tests::leak_in_test
  - tests::test_limbs_are_even
  - tests::test_limbs_are_zero
  - tests::test_limbs_equal_limb
  - tests::test_parse_big_endian_and_pad_consttime
  - tests::test_big_endian_from_limbs_same_length
  - tests::test_big_endian_from_limbs_fewer_limbs
  - tests::test_limbs_minimal_bits
  source_file: /src/td-shim/library/ring/src/limb.rs
- function_names:
  - impl_get_feature
  - features::Values::get_feature
  - features::Values::get_feature
  - features::Values::get_feature
  - Features::get_feature
  - features
  - tests::test_static_is_subset_of_dynamic
  source_file: /src/td-shim/library/ring/src/cpu.rs
- function_names:
  - derive
  - try_derive
  - derive_block
  - verify
  - try_verify
  source_file: /src/td-shim/library/ring/src/pbkdf2.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/lib.rs
- function_names:
  - compile_time_assert_clone
  - compile_time_assert_copy
  - compile_time_assert_eq
  - compile_time_assert_send
  - compile_time_assert_sync
  - compile_time_assert_std_error_error
  - TestCase::consume_bool
  - TestCase::consume_digest_alg
  - TestCase::consume_bytes
  - TestCase::consume_optional_bytes
  - TestCase::consume_usize
  - TestCase::consume_usize_bits
  - TestCase::consume_string
  - TestCase::consume_optional_string
  - test_vector_file
  - run
  - from_hex
  - from_hex_digit
  - parse_test_case
  - tests::one_ok
  - tests::one_err
  - tests::one_panics
  - tests::first_err
  - tests::middle_err
  - tests::last_err
  - tests::err_one
  - tests::first_panic
  - tests::middle_panic
  - tests::last_panic
  - tests::panic_one
  - tests::syntax_error
  source_file: /src/td-shim/library/ring/src/testutil.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/ec.rs
- function_names:
  - T::fill
  - Random::expose
  - generate
  - SystemRandom::new
  - SystemRandom::fill_impl
  source_file: /src/td-shim/library/ring/src/rand.rs
- function_names:
  - BlockContext::new
  - BlockContext::update
  - BlockContext::try_finish
  - BlockContext::block_data_order
  - FinishError::pending_not_a_partial_block
  - Context::new
  - Context::clone_from
  - Context::update
  - Context::finish
  - Context::try_finish
  - Context::algorithm
  - digest
  - Digest::compute_from
  - Digest::algorithm
  - Digest::as_ref
  - Digest::fmt
  - Algorithm::eq
  - Algorithm::block_len
  - Algorithm::chaining_len
  - Algorithm::output_len
  - format_output
  - BlockLen::into
  - BlockLen::len_len
  - OutputLen::into
  - max_input_tests
  - tests::max_input_test
  - tests::too_long_input_test_block
  - tests::too_long_input_test_byte
  - tests::nearly_full_context
  source_file: /src/td-shim/library/ring/src/digest.rs
- function_names:
  - Aad::from
  - Aad::as_ref
  - Aad::empty
  - Aad::fmt
  - Aad::eq
  - max_input_len
  - Tag::as_ref
  - Tag::try_from
  - Tag::from
  source_file: /src/td-shim/library/ring/src/aead.rs
- function_names:
  - verify_slices_are_equal
  source_file: /src/td-shim/library/ring/src/deprecated_constant_time.rs
- function_names:
  - core_name_and_version
  - prefix
  - prefixed_extern
  - prefixed_export
  - prefixed_item
  source_file: /src/td-shim/library/ring/src/prefixed.rs
- function_names:
  - Signature::new
  - Signature::as_ref
  - UnparsedPublicKey::as_ref
  - UnparsedPublicKey::fmt
  - UnparsedPublicKey::new
  - UnparsedPublicKey::verify
  source_file: /src/td-shim/library/ring/src/signature.rs
- function_names:
  - Algorithm::eq
  - EphemeralPrivateKey::generate
  - EphemeralPrivateKey::compute_public_key
  - EphemeralPrivateKey::algorithm
  - EphemeralPrivateKey::bytes
  - EphemeralPrivateKey::bytes_for_test
  - PublicKey::as_ref
  - PublicKey::fmt
  - PublicKey::algorithm
  - UnparsedPublicKey::as_ref
  - UnparsedPublicKey::fmt
  - UnparsedPublicKey::new
  - UnparsedPublicKey::algorithm
  - UnparsedPublicKey::bytes
  - agree_ephemeral
  - agree_ephemeral_
  source_file: /src/td-shim/library/ring/src/agreement.rs
- function_names:
  - Algorithm::hmac_algorithm
  - Algorithm::len
  - Salt::new
  - Salt::extract
  - Salt::algorithm
  - Salt::from
  - Prk::new_less_safe
  - Prk::expand
  - Prk::from
  - Okm::len
  - Okm::fill
  - fill_okm
  source_file: /src/td-shim/library/ring/src/hkdf.rs
- function_names:
  - u64_from_usize
  - usize_from_u32
  - usize_from_u64
  - usize_from_u64_saturated
  - tests::test_usize_from_u64_saturated
  source_file: /src/td-shim/library/ring/src/polyfill.rs
- function_names:
  - parse_public_key
  source_file: /src/td-shim/library/ring/src/rsa.rs
- function_names:
  - test_file
  source_file: /src/td-shim/library/ring/src/deprecated_test.rs
- function_names:
  - usize::from
  - LengthMeasurement::zero
  - LengthMeasurement::write_byte
  - LengthMeasurement::write_bytes
  - Writer::with_capacity
  - Box::from
  - Writer::write_byte
  - Writer::write_bytes
  - write_copy
  - TooLongError::new
  source_file: /src/td-shim/library/ring/src/io/writer.rs
- function_names:
  - usize::from
  - u8::from
  - Tag::into
  - expect_tag_and_get_value
  - read_tag_and_get_value
  - bit_string_with_no_unused_bits
  - bit_string_tagged_with_no_unused_bits
  - nested
  - nonnegative_integer
  - small_nonnegative_integer
  - positive_integer
  - tests::with_i
  - tests::test_small_nonnegative_integer
  - tests::test_positive_integer
  source_file: /src/td-shim/library/ring/src/io/der.rs
- function_names:
  - Positive::from_be_bytes
  - Positive::big_endian_without_leading_zero
  - Positive::big_endian_without_leading_zero_as_input
  - Positive::first_byte
  - tests::test_from_be_bytes
  source_file: /src/td-shim/library/ring/src/io/positive.rs
- function_names:
  - write_positive_integer
  - write_all
  - write_tlv
  source_file: /src/td-shim/library/ring/src/io/der_writer.rs
- function_names:
  - test_from_byte_len_overflow
  source_file: /src/td-shim/library/ring/src/tests/bits_tests.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/tests/mod.rs
- function_names:
  - InputTooLongError::new
  source_file: /src/td-shim/library/ring/src/error/input_too_long.rs
- function_names:
  - Unspecified::from
  - Unspecified::from
  - Unspecified::from
  source_file: /src/td-shim/library/ring/src/error/into_unspecified.rs
- function_names:
  - erase
  source_file: /src/td-shim/library/ring/src/error/mod.rs
- function_names:
  - Unspecified::fmt
  source_file: /src/td-shim/library/ring/src/error/unspecified.rs
- function_names:
  - KeyRejected::inconsistent_components
  - KeyRejected::invalid_component
  - KeyRejected::invalid_encoding
  - KeyRejected::rng_failed
  - KeyRejected::public_key_is_missing
  - KeyRejected::too_small
  - KeyRejected::too_large
  - KeyRejected::version_not_supported
  - KeyRejected::wrong_algorithm
  - KeyRejected::private_modulus_len_not_multiple_of_512_bits
  - KeyRejected::unexpected_error
  - KeyRejected::fmt
  source_file: /src/td-shim/library/ring/src/error/key_rejected.rs
- function_names:
  - parse_digit
  - limbs_from_hex
  source_file: /src/td-shim/library/ring/src/arithmetic/constant.rs
- function_names:
  - bn_mul_mont_ffi
  - bn_mul_mont_ffi
  source_file: /src/td-shim/library/ring/src/arithmetic/ffi.rs
- function_names:
  - N0::precalculated
  source_file: /src/td-shim/library/ring/src/arithmetic/n0.rs
- function_names:
  - Storage::from
  - Elem::clone_into
  - Elem::is_zero
  - from_montgomery_amm
  - Elem::into_unencoded
  - Elem::from_be_bytes_padded
  - Elem::fill_be_bytes
  - elem_mul_into
  - elem_mul
  - elem_double
  - elem_reduced_once
  - elem_reduced
  - elem_squared
  - elem_widen
  - elem_add
  - elem_sub
  - One::newRR
  - One::newRRR
  - One::as_ref
  - One::clone_into
  - elem_exp_vartime
  - elem_exp_consttime
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::gather
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::power
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::entry_mut
  - elem_exp_consttime_inner
  - e::l::e::m::_::e::x::p::_::c::o::n::s::t::t::i::m::e::_::i::n::n::e::r::scatter_powers_of_2
  - elem_exp_consttime_inner
  - verify_inverses_consttime
  - elem_verify_equal_consttime
  - unwrap_impossible_len_mismatch_error
  - unwrap_impossible_limb_slice_error
  - tests::test_elem_exp_consttime
  - tests::test_elem_mul
  - tests::test_elem_squared
  - tests::test_elem_reduced
  - tests::test_elem_reduced_once
  - tests::consume_elem
  - tests::consume_elem_unchecked
  - tests::consume_modulus
  - tests::assert_elem_eq
  - tests::into_encoded
  source_file: /src/td-shim/library/ring/src/arithmetic/bigint.rs
- function_names:
  - AliasingSlices2::with_non_dangling_non_null_pointers_ra
  - '&mut [T]::with_potentially_dangling_non_null_pointers_ra'
  - (&mut [T], &[T])::with_potentially_dangling_non_null_pointers_ra
  - AliasingSlices3::with_non_dangling_non_null_pointers_rab
  - '&mut [T]::with_potentially_dangling_non_null_pointers_rab'
  - (&mut [T], &[T], &[T])::with_potentially_dangling_non_null_pointers_rab
  - (RA, &[T])::with_potentially_dangling_non_null_pointers_rab
  source_file: /src/td-shim/library/ring/src/arithmetic/inout.rs
- function_names:
  - limbs_mul_mont
  - limbs_from_mont_in_place
  - limbs_mul
  - limbs_square_mont
  - tests::test_mul_add_words
  source_file: /src/td-shim/library/ring/src/arithmetic/montgomery.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs/mod.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs/aarch64/mod.rs
- function_names:
  - sqr_mont5
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs/aarch64/mont.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mod.rs
- function_names:
  - mul_mont5
  - mul_mont5_4x
  - sqr_mont5
  - scatter5
  - gather5
  - mul_mont_gather5_amm
  - power5_amm
  - check_common
  - check_common_with_n
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs/x86_64/mont.rs
- function_names:
  - BoxedLimbs::deref
  - BoxedLimbs::deref_mut
  - BoxedLimbs::clone
  - BoxedLimbs::from_be_bytes_padded_less_than
  - BoxedLimbs::zero
  - BoxedLimbs::into_limbs
  source_file: /src/td-shim/library/ring/src/arithmetic/bigint/boxed_limbs.rs
- function_names:
  - OwnedModulus::clone
  - OwnedModulus::from
  - OwnedModulus::to_elem
  - OwnedModulus::modulus
  - OwnedModulus::len_bits
  - OwnedModulus::be_bytes
  - Modulus::oneR
  - Modulus::alloc_zero
  - Modulus::limbs
  - Modulus::n0
  - Modulus::len_bits
  - Modulus::cpu_features
  source_file: /src/td-shim/library/ring/src/arithmetic/bigint/modulus.rs
- function_names:
  - PrivateExponent::from_be_bytes_padded
  - PrivateExponent::from_be_bytes_for_test_only
  - PrivateExponent::limbs
  source_file: /src/td-shim/library/ring/src/arithmetic/bigint/private_exponent.rs
- function_names:
  - OwnedModulusValue::clone
  - OwnedModulusValue::from_be_bytes
  - OwnedModulusValue::verify_less_than
  - OwnedModulusValue::len_bits
  - OwnedModulusValue::limbs
  source_file: /src/td-shim/library/ring/src/arithmetic/bigint/modulusvalue.rs
- function_names:
  - AlignedStorage::zeroed
  - AlignedStorage::aligned_chunks_mut
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs512/storage.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/arithmetic/limbs512/mod.rs
- function_names:
  - verify_slices_are_equal
  - xor_16
  - xor_assign
  - xor_assign_at_start
  - tests::leak_in_test
  - tests::test_constant_time
  - tests::constant_time_conditional_memcpy
  - tests::constant_time_conditional_memxor
  - tests::test_bool_mask_bitwise_and_is_logical_and
  source_file: /src/td-shim/library/ring/src/bb/mod.rs
- function_names:
  - BoolMask::leak
  - BoolMask::bitand
  source_file: /src/td-shim/library/ring/src/bb/boolmask.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/bb/word.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/bb/leaky.rs
- function_names:
  - parity
  - sha1_block_data_order
  - block_data_order
  - step3
  - rotl
  source_file: /src/td-shim/library/ring/src/digest/sha1.rs
- function_names:
  - DynState::new32
  - DynState::new64
  - DynState::format_output
  - sha1_block_data_order
  - sha256_block_data_order
  - sha512_block_data_order
  source_file: /src/td-shim/library/ring/src/digest/dynstate.rs
- function_names:
  - block_data_order
  - ch
  - maj
  - SIGMA_0
  - SIGMA_1
  - sigma_0
  - sigma_1
  - Wrapping::from_be_bytes
  - Wrapping::rotr
  - Wrapping::zero_w
  - Wrapping::from_be_bytes
  - Wrapping::rotr
  - Wrapping::zero_w
  source_file: /src/td-shim/library/ring/src/digest/sha2/fallback.rs
- function_names:
  - block_data_order_32
  source_file: /src/td-shim/library/ring/src/digest/sha2/sha2_32.rs
- function_names:
  - sha2_ffi
  - sha2_32_ffi
  - sha2_64_ffi
  - sha2_ffi
  source_file: /src/td-shim/library/ring/src/digest/sha2/ffi.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/digest/sha2/mod.rs
- function_names:
  - block_data_order_64
  source_file: /src/td-shim/library/ring/src/digest/sha2/sha2_64.rs
- function_names:
  - UnboundKey::new
  - UnboundKey::algorithm
  - UnboundKey::into_inner
  - UnboundKey::fmt
  - UnboundKey::from
  source_file: /src/td-shim/library/ring/src/aead/unbound_key.rs
- function_names:
  - Nonce::try_assume_unique_for_key
  - Nonce::assume_unique_for_key
  - Nonce::as_ref
  source_file: /src/td-shim/library/ring/src/aead/nonce.rs
- function_names:
  - Key::new
  - Key::encrypt_single_block_with_ctr_0
  - Key::new_mask
  - Key::encrypt
  - Key::words_less_safe
  - Counter::zero_one_less_safe
  - Counter::from_nonce_and_ctr
  - Counter::into_words_less_safe
  - tests::chacha20_test_default
  - tests::chacha20_test_fallback
  - tests::chacha20_test
  - tests::chacha20_test_case_inner
  source_file: /src/td-shim/library/ring/src/aead/chacha.rs
- function_names:
  - HeaderProtectionKey::from
  - HeaderProtectionKey::new
  - HeaderProtectionKey::new_mask
  - HeaderProtectionKey::algorithm
  - '&''static Algorithm::len'
  - Algorithm::key_len
  - Algorithm::sample_len
  - Algorithm::eq
  - aes_init_128
  - aes_init_256
  - aes_new_mask
  - chacha20_init
  - chacha20_new_mask
  source_file: /src/td-shim/library/ring/src/aead/quic.rs
- function_names:
  - Key::new
  - Context::from_key
  - Context::update_block
  - Context::update
  - Context::update_internal
  - Context::finish
  - sign
  - tests::test_poly1305
  source_file: /src/td-shim/library/ring/src/aead/poly1305.rs
- function_names:
  - '&''static Algorithm::len'
  - Algorithm::key_len
  - Algorithm::tag_len
  - Algorithm::nonce_len
  - Algorithm::new_key
  - Algorithm::open_within
  - Algorithm::seal
  - Algorithm::eq
  - aes_gcm_init_128
  - aes_gcm_init_256
  - aes_gcm_seal
  - aes_gcm_open
  - chacha20_poly1305_init
  - chacha20_poly1305_seal
  - chacha20_poly1305_open
  source_file: /src/td-shim/library/ring/src/aead/algorithm.rs
- function_names:
  - SealingKey::new
  - SealingKey::seal_in_place
  - OpeningKey::new
  - OpeningKey::decrypt_packet_length
  - OpeningKey::open_in_place
  - Key::new
  - make_nonce
  source_file: /src/td-shim/library/ring/src/aead/chacha20_poly1305_openssh.rs
- function_names:
  - SealingKey::new
  - SealingKey::algorithm
  - SealingKey::fmt
  - SealingKey::seal_in_place_append_tag
  - SealingKey::seal_in_place_separate_tag
  source_file: /src/td-shim/library/ring/src/aead/sealing_key.rs
- function_names:
  - Key::new
  - Key::encrypt_block
  - Key::new_mask
  - Counter::one
  - Counter::increment
  - Counter::increment_by_less_safe
  - Iv::from
  - encrypt_block_using_encrypt_iv_xor_block
  - encrypt_iv_xor_block_using_encrypt_block
  - encrypt_iv_xor_block_using_ctr32
  - tests::test_aes
  - tests::consume_key
  - aes_gcm_tests::test_aes_gcm_counter_blocks_max
  - aes_gcm_tests::test_aes_gcm_counter_blocks_max_minus_one
  - a::e::s::_::g::c::m::_::t::e::s::t::s::::::::t::e::s::t::_::a::e::s::_::g::c::m::_::c::o::u::n::t::e::r::_::b::l::o::c::k::s::ctr32
  - aes_gcm_tests::test_aes_gcm_counter_blocks
  source_file: /src/td-shim/library/ring/src/aead/aes.rs
- function_names:
  - LessSafeKey::new
  - LessSafeKey::new_
  - LessSafeKey::open_in_place_separate_tag
  - LessSafeKey::open_in_place
  - LessSafeKey::open_within
  - LessSafeKey::seal_in_place_append_tag
  - LessSafeKey::seal_in_place_separate_tag
  - LessSafeKey::algorithm
  - LessSafeKey::fmt_debug
  - LessSafeKey::fmt
  source_file: /src/td-shim/library/ring/src/aead/less_safe_key.rs
- function_names:
  - Context::new
  - Context::in_out_whole_block_bits
  - Context::inner
  - Context::inner
  - Context::inner
  - Context::update_blocks
  - Context::update_block
  - Context::pre_finish
  source_file: /src/td-shim/library/ring/src/aead/gcm.rs
- function_names:
  - shift_full_blocks
  source_file: /src/td-shim/library/ring/src/aead/shift.rs
- function_names:
  - OpeningKey::new
  - OpeningKey::algorithm
  - OpeningKey::fmt
  - OpeningKey::open_in_place
  - OpeningKey::open_within
  source_file: /src/td-shim/library/ring/src/aead/opening_key.rs
- function_names:
  - Key::new
  - DynKey::new
  - DynKey::new_neon
  - DynKey::new_ssse3
  - DynKey::new_fallback
  - derive_gcm_key_value
  - seal
  - seal_whole_partial
  - seal_strided
  - seal_finish
  - open
  - open_whole_partial
  - open_strided
  - open_finish
  - finish
  source_file: /src/td-shim/library/ring/src/aead/aes_gcm.rs
- function_names:
  - State::new_context
  - State::update_internal
  - State::finish
  source_file: /src/td-shim/library/ring/src/aead/poly1305/ffi_fallback.rs
- function_names:
  - data_len
  - State::new_context
  - State::update_internal
  - State::finish
  source_file: /src/td-shim/library/ring/src/aead/poly1305/ffi_arm_neon.rs
- function_names:
  - Key::new
  - seal
  - seal_fallback
  - open
  - open_fallback
  - check_input_lengths
  - begin
  - finish
  - poly1305_update_padded_16
  source_file: /src/td-shim/library/ring/src/aead/chacha20_poly1305/mod.rs
- function_names:
  - declare_open
  - declare_seal
  - seal
  - open
  source_file: /src/td-shim/library/ring/src/aead/chacha20_poly1305/integrated.rs
- function_names:
  - Key::new
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  source_file: /src/td-shim/library/ring/src/aead/aes/fallback.rs
- function_names:
  - ctr32_encrypt_blocks_with_vpaes_key
  source_file: /src/td-shim/library/ring/src/aead/aes/bs.rs
- function_names:
  - AES_KEY::new
  - AES_KEY::derive
  - AES_KEY::rounds
  - set_encrypt_key
  - encrypt_block
  - AES_KEY::encrypt_block
  - ctr32_encrypt_blocks
  - AES_KEY::ctr32_encrypt_blocks
  source_file: /src/td-shim/library/ring/src/aead/aes/ffi.rs
- function_names:
  - Key::new
  - Key::new
  - Key::inner_less_safe
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  source_file: /src/td-shim/library/ring/src/aead/aes/hw.rs
- function_names:
  - Key::new
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  - Key::ctr32_encrypt_within
  - Key::encrypt_block
  - Key::encrypt_iv_xor_block
  - Key::ctr32_encrypt_within
  source_file: /src/td-shim/library/ring/src/aead/aes/vp.rs
- function_names:
  - Key::new
  - Key::update_block
  - Key::update_blocks
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::lo
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::hi
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::mul
  - gcm_mul64_nohw
  - g::c::m::_::m::u::l::3::2::_::n::o::h::w::mul
  - gcm_mul32_nohw
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::lo
  - g::c::m::_::m::u::l::6::4::_::n::o::h::w::hi
  - gcm_mul64_nohw
  - init
  - gcm_polyval_nohw
  - gmult
  - ghash
  - with_swapped_xi
  source_file: /src/td-shim/library/ring/src/aead/gcm/fallback.rs
- function_names:
  - Key::new
  - Key::inner
  - Key::update_block
  - Key::update_blocks
  source_file: /src/td-shim/library/ring/src/aead/gcm/clmulavxmovbe.rs
- function_names:
  - Key::new
  - Key::inner
  - Key::update_block
  - Key::update_block
  - Key::update_blocks
  source_file: /src/td-shim/library/ring/src/aead/gcm/clmul.rs
- function_names:
  - Key::new
  - Key::inner
  - Key::update_block
  source_file: /src/td-shim/library/ring/src/aead/gcm/vclmulavx2.rs
- function_names:
  - Key::new
  - Key::update_block
  - Key::update_blocks
  source_file: /src/td-shim/library/ring/src/aead/gcm/neon.rs
- function_names:
  - htable_new
  - ghash
  - KeyValue::new
  - KeyValue::into_inner
  - HTable::new
  - HTable::gmult
  - HTable::ghash
  - Xi::bitxor_assign
  source_file: /src/td-shim/library/ring/src/aead/gcm/ffi.rs
- function_names:
  - ChaCha20_ctr32
  - chacha_core
  - q::u::a::r::t::e::r::r::o::u::n::d::step
  - quarterround
  source_file: /src/td-shim/library/ring/src/aead/chacha/fallback.rs
- function_names:
  - chacha20_ctr32_ffi
  - chacha20_ctr32_ffi
  source_file: /src/td-shim/library/ring/src/aead/chacha/ffi.rs
- function_names:
  - Array::new
  - Array::into_unwritten_output
  - Array::input
  source_file: /src/td-shim/library/ring/src/aead/overlapping/array.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/aead/overlapping/mod.rs
- function_names:
  - PartialBlock::new
  - PartialBlock::overwrite_at_start
  - PartialBlock::input
  - PartialBlock::len
  source_file: /src/td-shim/library/ring/src/aead/overlapping/partial_block.rs
- function_names:
  - Overlapping::from
  - Overlapping::new
  - Overlapping::copy_within
  - Overlapping::into_slice_src_mut
  - Overlapping::into_unwritten_output
  - Overlapping::len
  - Overlapping::input
  - Overlapping::with_input_output_len
  - Overlapping::split_first_chunk
  source_file: /src/td-shim/library/ring/src/aead/overlapping/base.rs
- function_names:
  - seal_whole
  - open_whole
  source_file: /src/td-shim/library/ring/src/aead/aes_gcm/aarch64.rs
- function_names:
  - seal_whole_vaes_clmul_avx2
  - open_whole_vaes_clmul_avx2
  source_file: /src/td-shim/library/ring/src/aead/aes_gcm/vaesclmulavx2.rs
- function_names:
  - seal
  - open
  source_file: /src/td-shim/library/ring/src/aead/aes_gcm/aeshwclmulmovbe.rs
- function_names:
  - KeyPair::derive
  - KeyPair::public_key
  - KeyPair::split
  - Seed::generate
  - Seed::from_bytes
  - Seed::bytes_less_safe
  - Seed::compute_public_key
  - PublicKey::as_ref
  source_file: /src/td-shim/library/ring/src/ec/keys.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/ec/curve25519.rs
- function_names:
  - verify_affine_point_is_on_the_curve
  - verify_jacobian_point_is_on_the_curve
  - verify_affine_point_is_on_the_curve_scaled
  - key_pair_from_pkcs8
  - key_pair_from_pkcs8_
  - key_pair_from_bytes
  source_file: /src/td-shim/library/ring/src/ec/suite_b.rs
- function_names:
  - ecdh
  - ecdh
  - tests::test_agreement_suite_b_ecdh_generate
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ecdh.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ecdsa.rs
- function_names:
  - Point::new_at_infinity
  - CommonOps::elem_modulus
  - CommonOps::scalar_modulus
  - CommonOps::len
  - CommonOps::n_limbs
  - Modulus::cpu
  - Modulus::bytes_len
  - Modulus::add_assign
  - Modulus::elems_are_equal
  - Modulus::elem_unencoded
  - CommonOps::is_zero
  - CommonOps::elem_mul
  - CommonOps::elem_product
  - CommonOps::elem_square
  - CommonOps::elem_squared
  - Modulus::elem_mul
  - Modulus::elem_product
  - Modulus::elem_square
  - Modulus::elem_squared
  - Modulus::is_zero
  - Modulus::elem_verify_is_not_zero
  - Modulus::a
  - Modulus::b
  - PrivateKeyOps::point_sum
  - Modulus::point_x
  - Modulus::point_y
  - Modulus::point_z
  - PrivateKeyOps::leak_limbs
  - PrivateKeyOps::point_mul_base
  - PrivateKeyOps::point_mul
  - PrivateKeyOps::elem_inverse_squared
  - PublicKeyOps::elem_parse
  - ScalarOps::scalar_modulus
  - ScalarOps::scalar_bytes_len
  - ScalarOps::leak_limbs
  - ScalarOps::scalar_product
  - PublicScalarOps::n
  - PublicScalarOps::scalar_as_elem
  - Modulus::elem_less_than_vartime
  - PublicScalarOps::scalar_inv_to_mont_vartime
  - PrivateScalarOps::to_mont
  - PrivateScalarOps::scalar_inv_to_mont
  - twin_mul_inefficient
  - Modulus::elem_reduced_to_scalar
  - elem_sqr_mul
  - elem_sqr_mul_acc
  - elem_parse_big_endian_fixed_consttime
  - scalar_parse_big_endian_fixed_consttime
  - scalar_parse_big_endian_variable
  - scalar_parse_big_endian_partially_reduced_variable_consttime
  - parse_big_endian_fixed_consttime
  - unwrap_impossible_len_mismatch_error
  - tests::q_minus_n_plus_n_equals_0_test
  - tests::p256_q_minus_n_plus_n_equals_0_test
  - tests::p384_q_minus_n_plus_n_equals_0_test
  - tests::p256_elem_add_test
  - tests::p384_elem_add_test
  - tests::elem_add_test
  - tests::p384_elem_sub_test
  - tests::elem_sub_test
  - tests::p384_elem_div_by_2_test
  - tests::elem_div_by_2_test
  - tests::p256_elem_neg_test
  - tests::p384_elem_neg_test
  - tests::elem_neg_test
  - tests::p256_elem_mul_test
  - tests::p384_elem_mul_test
  - tests::elem_mul_test
  - tests::p256_scalar_mul_test
  - tests::p384_scalar_mul_test
  - tests::scalar_mul_test
  - tests::p256_scalar_square_test
  - tests::scalar_square_test
  - tests::p256_scalar_inv_to_mont_zero_panic_test
  - tests::p384_scalar_inv_to_mont_zero_panic_test
  - tests::p256_point_sum_test
  - tests::p384_point_sum_test
  - tests::point_sum_test
  - tests::p256_point_sum_mixed_test
  - tests::point_sum_mixed_test
  - tests::p256_point_double_test
  - tests::p384_point_double_test
  - tests::point_double_test
  - tests::p256_point_mul_test
  - tests::p384_point_mul_test
  - tests::p256_point_mul_serialized_test
  - tests::point_mul_serialized_test
  - tests::p256_point_mul_base_test
  - tests::p384_point_mul_base_test
  - tests::point_mul_base_tests
  - tests::assert_point_actual_equals_expected
  - tests::consume_jacobian_point
  - tests::consume_affine_point
  - tests::consume_point_elem
  - t::e::s::t::s::::::::c::o::n::s::u::m::e::_::p::o::i::n::t::consume_point_elem
  - tests::consume_point
  - tests::assert_elems_are_equal
  - tests::assert_limbs_are_equal
  - tests::consume_elem
  - tests::consume_scalar
  - tests::consume_scalar_mont
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ops.rs
- function_names:
  - random_scalar
  - generate_private_scalar_bytes
  - private_key_as_scalar
  - check_scalar_big_endian_bytes
  - scalar_from_big_endian_bytes
  - public_from_private
  - affine_from_jacobian
  - big_endian_affine_from_jacobian
  source_file: /src/td-shim/library/ring/src/ec/suite_b/private_key.rs
- function_names:
  - parse_uncompressed_point
  - tests::parse_uncompressed_point_test
  - tests::public_key_ops_from_curve_name
  source_file: /src/td-shim/library/ring/src/ec/suite_b/public_key.rs
- function_names:
  - suite_b_curve
  source_file: /src/td-shim/library/ring/src/ec/suite_b/curve.rs
- function_names:
  - p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
  - p::2::5::6::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
  - p256_elem_inv_squared
  - p256_point_mul_base_impl
  - twin_mul_nistz256
  - point_mul_base_vartime
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
  - p::2::5::6::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
  - p256_scalar_inv_to_mont
  - tests::p256_point_mul_base_vartime_test
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ops/p256.rs
- function_names:
  - p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul
  - p::3::8::4::_::e::l::e::m::_::i::n::v::_::s::q::u::a::r::e::d::sqr_mul_acc
  - p384_elem_inv_squared
  - p384_point_mul_base_impl
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::mul
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mut
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul
  - p::3::8::4::_::s::c::a::l::a::r::_::i::n::v::_::t::o::_::m::o::n::t::sqr_mul_acc
  - p384_scalar_inv_to_mont
  - p384_elem_sqr_mont
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ops/p384.rs
- function_names:
  - NumLimbs::into
  - Elem::from
  - Elem::zero
  - Elem::one
  - PublicElem::from_hex
  - mul_mont
  - binary_op
  - binary_op_assign
  - unary_op
  - unary_op_assign
  - unary_op_from_binary_op_assign
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ops/elem.rs
- function_names:
  - digest_scalar
  - digest_bytes_scalar
  - digest_scalar_
  - tests::test
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/digest_scalar.rs
- function_names:
  - EcdsaVerificationAlgorithm::verify
  - E::c::d::s::a::V::e::r::i::f::i::c::a::t::i::o::n::A::l::g::o::r::i::t::h::m::::::::v::e::r::i::f::y::_::d::i::g::e::s::t::sig_r_equals_x
  - EcdsaVerificationAlgorithm::verify_digest
  - split_rs_fixed
  - split_rs_asn1
  - tests::test_digest_based_test_vectors
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/verification.rs
- function_names:
  - EcdsaSigningAlgorithm::eq
  - EcdsaKeyPair::generate_pkcs8
  - EcdsaKeyPair::from_pkcs8
  - EcdsaKeyPair::from_private_key_and_public_key
  - EcdsaKeyPair::new
  - EcdsaKeyPair::sign
  - EcdsaKeyPair::sign_with_fixed_nonce_during_test
  - EcdsaKeyPair::sign_digest
  - NonceRandom::fmt
  - NonceRandom::fill_impl
  - NonceRandomKey::new
  - EcdsaKeyPair::public_key
  - PublicKey::as_ref
  - format_rs_fixed
  - f::o::r::m::a::t::_::r::s::_::a::s::n::1::format_integer_tlv
  - format_rs_asn1
  - tests::signature_ecdsa_sign_fixed_test
  - tests::signature_ecdsa_sign_asn1_test
  source_file: /src/td-shim/library/ring/src/ec/suite_b/ecdsa/signing.rs
- function_names:
  - eddsa_digest
  source_file: /src/td-shim/library/ring/src/ec/curve25519/ed25519.rs
- function_names:
  - x25519_check_private_key_bytes
  - x25519_generate_private_key
  - x25519_public_from_private
  - x::2::5::5::1::9::_::e::c::d::h::scalar_mult
  - x25519_ecdh
  - x25519_neon
  - tests::test_x25519_public_from_private
  source_file: /src/td-shim/library/ring/src/ec/curve25519/x25519.rs
- function_names:
  - Elem::zero
  - Elem::negate
  - ExtPoint::from_scalarmult_base
  - ExtPoint::from_encoded_point_vartime
  - ExtPoint::into_encoded_point
  - ExtPoint::invert_vartime
  - Point::new_at_infinity
  - Point::into_encoded_point
  - encode_point
  - has_fe25519_adx
  source_file: /src/td-shim/library/ring/src/ec/curve25519/ops.rs
- function_names:
  - Scalar::from_bytes_checked
  - Scalar::from_sha512_digest_reduced
  - MaskedScalar::from_bytes_masked
  - Scalar::from
  source_file: /src/td-shim/library/ring/src/ec/curve25519/scalar.rs
- function_names:
  - EdDSAParameters::fmt
  - EdDSAParameters::verify
  source_file: /src/td-shim/library/ring/src/ec/curve25519/ed25519/verification.rs
- function_names:
  - Ed25519KeyPair::generate_pkcs8
  - Ed25519KeyPair::from_pkcs8
  - Ed25519KeyPair::from_pkcs8_maybe_unchecked
  - Ed25519KeyPair::from_seed_and_public_key
  - Ed25519KeyPair::from_seed_unchecked
  - Ed25519KeyPair::from_seed_
  - Ed25519KeyPair::sign
  - Ed25519KeyPair::public_key
  - PublicKey::as_ref
  - unwrap_pkcs8
  source_file: /src/td-shim/library/ring/src/ec/curve25519/ed25519/signing.rs
- function_names: []
  source_file: /src/td-shim/library/ring/src/polyfill/notsend.rs
- function_names:
  - from_mut
  - from_ref
  source_file: /src/td-shim/library/ring/src/polyfill/ptr.rs
- function_names:
  - split_at_checked
  - split_first_chunk_mut
  source_file: /src/td-shim/library/ring/src/polyfill/slice.rs
- function_names:
  - Ref::as_ptr
  - Ref::from_bytes_with_nul_unchecked
  - unwrap_const_from_bytes_with_nul
  - c::o::n::s::t::_::f::r::o::m::_::b::y::t::e::s::_::w::i::t::h::_::n::u::l::const_contains
  - const_from_bytes_with_nul
  source_file: /src/td-shim/library/ring/src/polyfill/cstr.rs
- function_names:
  - '[I; 12]::array_split_map'
  - '[I; 16]::array_split_map'
  - '[I; 32]::array_split_map'
  - '[I; 16]::array_split_map'
  source_file: /src/td-shim/library/ring/src/polyfill/array_split_map.rs
- function_names:
  - assert_iterator
  - assert_exact_size_iterator
  source_file: /src/td-shim/library/ring/src/polyfill/test.rs
- function_names:
  - LeadingZerosStripped::clone
  - LeadingZerosStripped::new
  - LeadingZerosStripped::next
  - LeadingZerosStripped::size_hint
  - tests::test_leading_zeroes_stripped
  source_file: /src/td-shim/library/ring/src/polyfill/leading_zeros_skipped.rs
- function_names:
  - unwrap_const
  source_file: /src/td-shim/library/ring/src/polyfill/unwrap_const.rs
- function_names:
  - ArrayFlatMap::new
  - ArrayFlatMap::next
  - ArrayFlatMap::size_hint
  - tests::test_array_flat_map
  - tests::test_array_flat_map_len_overflow
  source_file: /src/td-shim/library/ring/src/polyfill/array_flat_map.rs
- function_names:
  - cold_exhaustive_error
  source_file: /src/td-shim/library/ring/src/polyfill/cold_error.rs
- function_names:
  - overwrite_at_start
  source_file: /src/td-shim/library/ring/src/polyfill/sliceutil.rs
- function_names:
  - as_chunks
  - AsChunks::from_ref
  - AsChunks::as_flattened
  - AsChunks::as_ptr
  - AsChunks::is_empty
  - AsChunks::len
  - AsChunks::index
  - AsChunks::into_iter
  - AsChunksIter::next
  - AsChunks::from
  - AsChunks::from
  - AsChunks::from
  source_file: /src/td-shim/library/ring/src/polyfill/slice/as_chunks.rs
- function_names:
  - as_chunks_mut
  - AsChunksMut::as_flattened
  - AsChunksMut::as_flattened_mut
  - AsChunksMut::as_ptr
  - AsChunksMut::as_ptr
  - AsChunksMut::as_mut_ptr
  - AsChunksMut::as_mut
  - AsChunksMut::as_ref
  - AsChunksMut::chunks_mut
  - AsChunksMut::split_at_mut
  - AsChunksMutChunksMutIter::next
  source_file: /src/td-shim/library/ring/src/polyfill/slice/as_chunks_mut.rs
- function_names:
  - OnceNonZeroUsize::new
  - OnceNonZeroUsize::get
  - OnceNonZeroUsize::get_or_init
  - OnceNonZeroUsize::init
  source_file: /src/td-shim/library/ring/src/polyfill/once_cell/race.rs
- function_names:
  - featureflags::get_or_init
  - featureflags::get
  - c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::check
  - c::p::u::i::d::_::t::o::_::c::a::p::s::_::a::n::d::_::s::e::t::_::c::_::f::l::a::g::s::set
  - cpuid_to_caps_and_set_c_flags
  - tests::x86_has_sse2
  source_file: /src/td-shim/library/ring/src/cpu/intel.rs
- function_names:
  - f::e::a::t::u::r::e::f::l::a::g::s::::::::g::e::t::_::o::r::_::i::n::i::t::init
  - featureflags::get_or_init
  - featureflags::get
  source_file: /src/td-shim/library/ring/src/cpu/arm.rs
- function_names:
  - detect_features
  source_file: /src/td-shim/library/ring/src/cpu/arm/fuchsia.rs
- function_names:
  - detect_features
  - detect_features
  - detect_features
  source_file: /src/td-shim/library/ring/src/cpu/arm/linux.rs
- function_names:
  - d::e::t::e::c::t::_::f::e::a::t::u::r::e::s::detect_feature
  - detect_features
  - tests::sha512_detection
  source_file: /src/td-shim/library/ring/src/cpu/arm/darwin.rs
- function_names:
  - detect_features
  source_file: /src/td-shim/library/ring/src/cpu/arm/windows.rs
- function_names:
  - PublicExponent::from_be_bytes
  - PublicExponent::be_bytes
  - PublicExponent::value
  - tests::test_public_exponent_constants
  source_file: /src/td-shim/library/ring/src/rsa/public_exponent.rs
- function_names:
  - encode
  - mgf1
  - test::test_pss_padding_verify
  - test::test_pss_padding_encode
  source_file: /src/td-shim/library/ring/src/rsa/padding.rs
- function_names:
  - KeyPairComponents::fmt
  source_file: /src/td-shim/library/ring/src/rsa/keypair_components.rs
- function_names:
  - KeyPair::from_pkcs8
  - KeyPair::from_der
  - K::e::y::P::a::i::r::::::::f::r::o::m::_::d::e::r::_::r::e::a::d::e::r::nonnegative_integer
  - KeyPair::from_der_reader
  - KeyPair::from_components
  - KeyPair::from_components_
  - KeyPair::public
  - KeyPair::public_modulus_len
  - KeyPair::public_key
  - PrivatePrime::new
  - PrivateCrtPrime::new
  - elem_exp_consttime
  - KeyPair::sign
  - KeyPair::private_exponentiate
  - tests::test_rsakeypair_private_exponentiate
  source_file: /src/td-shim/library/ring/src/rsa/keypair.rs
- function_names:
  - RsaParameters::verify
  - rsa_params
  - super::PublicKeyComponents::verify
  - verify_rsa_
  source_file: /src/td-shim/library/ring/src/rsa/verification.rs
- function_names:
  - PublicModulus::clone
  - PublicModulus::from_be_bytes
  - PublicModulus::be_bytes
  - PublicModulus::len_bits
  - PublicModulus::value
  - PublicModulus::oneRR
  source_file: /src/td-shim/library/ring/src/rsa/public_modulus.rs
- function_names:
  - PublicKey::from_modulus_and_exponent
  - PublicKey::modulus_len
  - PublicKey::inner
  - Inner::from_modulus_and_exponent
  - Inner::n
  - Inner::e
  - Inner::exponentiate
  - Inner::exponentiate_elem
  - PublicKey::as_ref
  - fill_be_bytes_n
  source_file: /src/td-shim/library/ring/src/rsa/public_key.rs
- function_names:
  - PublicKeyComponents::fmt
  - PublicKeyComponents::from
  source_file: /src/td-shim/library/ring/src/rsa/public_key_components.rs
- function_names:
  - PKCS1::digest_alg
  - PKCS1::encode
  - PKCS1::verify
  - pkcs1_encode
  - rsa_pkcs1_padding
  - pkcs1_digestinfo_prefix
  source_file: /src/td-shim/library/ring/src/rsa/padding/pkcs1.rs
- function_names:
  - PSS::digest_alg
  - PSS::encode
  - PSS::verify
  - PSSMetrics::new
  - pss_digest
  - rsa_pss_padding
  source_file: /src/td-shim/library/ring/src/rsa/padding/pss.rs
- function_names:
  - digest_shavs::run_known_answer_test
  source_file: /src/td-shim/library/ring/cavp/tests/shavs.rs
- function_names:
  - sign
  - verify
  source_file: /src/td-shim/library/ring/bench/ecdsa.rs
- function_names:
  - oneshot
  source_file: /src/td-shim/library/ring/bench/digest.rs
- function_names:
  - NonceSequence::new
  - NonceSequence::advance
  - seal_in_place_separate_tag
  - open_in_place
  - bench_id
  source_file: /src/td-shim/library/ring/bench/aead.rs
- function_names:
  - generate_key
  - compute_public_key
  - agree_ephemeral
  - bench_name
  source_file: /src/td-shim/library/ring/bench/agreement.rs
- function_names:
  - verify_case
  - verify
  source_file: /src/td-shim/library/ring/bench/rsa.rs
